[iPhone][Develop] Grouped形式のテーブルに背景画像を設定する – Ni chicha, ni limona — paellaの日記 – iPhoneアプリ開発グループ

 

テーブルビューにGroupedを選択していると、背景には縦ストライプの、あまりパッとしない絵が表示されます。標準のUIだけを使ってアプリを作成していれば何となく合うんでしょうが、独自のアプリを作っているような場合には合わないような、なんとも微妙な柄です。

これをうまく変えられないかな、と思っていたら、@tokidaさんに「UIColorの+colorWithPatternImageを使えば良いですよ」と教えてもらいました。
こんな感じのソースです。

From [iPhone][Develop] Grouped形式のテーブルに背景画像を設定する – Ni chicha, ni limona — paellaの日記 – iPhoneアプリ開発グループ

 

The iPhone Developer's Cookbook 3.0 SDK Second Editionのサンプルコードとサンプルビデオ

 

Sample code
[erica’s iphone-3.0-cookbook- at master – GitHub]

 

Chapter04/
Chapter05/
Chapter06/
Chapter07/
Chapter08/
Chapter09/
HEADER.html
README.htmlIndex of /ftp/SampleVideos3.0

The iPhone Developer’s Cookbook: Building Applications with the iPhone 3.0 SDK, Second Editionのサンプルコードとビデオです。

Safari Books OnlineだとRough cutsで現在は半分以上読めます。

Apple Developer Connection – ADC Products – Videos

 

Worldwide Developers Conference 2009のセッションビデオをご購入いただくと、iPhone OSおよびMac OS Xに搭載されているテクノロジーについて詳しい技術情報が収録されたアップルエンジニアによるセッションをご視聴いただけます。

[From Apple Developer Connection – ADC Products – Videos]

 

欲しいです。特にComplete Collection。
でも個人ではちょっと手が出しづらい価格ですね・・・48,800円。

iPhone でテクスチャ圧縮 (PVRTC) を使う – WebOS Goodies

 

「iPhone で 3D CG! OpenGL ES を使ってみよう」では、 iPhone で基本的な 3D モデルを表示する方法をご紹介しました。 iPhone の GPU は意外と強力で、クオリティーの高い映像を生成するための拡張機能が他にもいろいろと搭載されています。今回はそのひとつである「テクスチャ圧縮」の使い方をご紹介しようと思います。

デスクトップ PC における 3D CG でもテクスチャ圧縮は重要な技術ですが、リソースの限られた iPhone ではそれ以上にアプリケーション全体のできを左右するものになります。幸い、 iPhone のテクスチャ圧縮機能はデスクトップ向けの GPU 以上に強力なので、うまく利用して優れたアプリケーションの開発に役立てたいものですね!

[From iPhone でテクスチャ圧縮 (PVRTC) を使う – WebOS Goodies]

 

iPhoneでテクスチャ圧縮を利用する方法の解説。

iPhone で 3D CG! OpenGL ES を使ってみよう – WebOS Goodies

 

実は私は数年前まではゲーム開発をしていまして、 3D CG には少なからず興味があります。さらに OpenGL はC言語ベースのクロスプラットフォームな API なので、 Mac OS X 特有のアーキテクチャにほとんど触れずに開発ができます。そんなこんなで、無謀にも Cocoa を差し置いて OpenGL プログラミングを始めたわけです。まあ、 OpenGL だけでなにをするんだという話もありますが、マルチタッチや加速度センサーの取得あたりを我慢して Objective-C で実装すれば、そこそこ面白いものが作れるかな、と思っています。

ということで、本日はこれまで調べたことをまとめて、 iPhone での OpenGL プログラミングの始め方をご紹介します。 Xcode のテンプレートから始めて、簡単な図形の表示、ライティング、そしてテクスチャーマッピングまでを扱っていますので、 iPhone 上の 3D CG に興味のある方は、参考にしてください。

[From iPhone で 3D CG! OpenGL ES を使ってみよう – WebOS Goodies]

 

OpenGL ESを利用したアプリの開発の入門に。とても分かりやすく説明されています。ページ最後の参考資料もおすすめ。

gitの発音

gitをジットと読んでたんですが、gifはジフでgimpはギンプ(ですよね)なんで、gitは?と思って調べました。

で、どうやら日本ではジットが多いらしい。
でも辞書ではギットになってました。
httpv://www.youtube.com/watch?v=j45cs5_nY2k
でもギットって言ってます。

というわけで、どうやらギットらしいという結論になりました。
のでこれからはギットと読むようにします。

型推論について調べてみた

型推論 – Wikipedia
型推論とは – はてなキーワード

によると、
動的型付言語では実行時に型が決まるので型の宣言は不要だが、静的型付言語ではコードで変数や関数の型を宣言する必要がある。この変数や関数の型の宣言をしなくてもよくなるのが型推論らしい。関数の型シグネチャなどから自動的に型を決定してくれる。
var result
result = x + 1
だとhogeはintだろうと推論してくれる。

メリット

  • 誤った型を用いる事によるバグは回避できる。
  • 記述をアルゴリズムに集中できるのでプログラムの抽象度が上がる

Scalaの関数

Scalaで関数を作成してみます。

def max(x: Int, y: Int): Int = {
    if (x > y) {
        return(x)
    } else {
        return(y)
    }
}

大きい方の数値を返す関数です。
def 関数名(引数: 型[, 引数: 型]): 返値の型 = {}
で定義するということです。

最後に評価したものが返値になるので、 以下のようにreturn(x)という部分はxのみでもいいようです。

def max(x: Int, y: Int): Int = {
    if (x > y) {
        x
    } else {
        y
    }
}

さらに返値であるxやyがIntだと型推論できるときは、以下のように返値の型は省略できるようです。

def max(x: Int, y: Int) = {
    if (x > y) {
        x
    } else {
        y
    }
}

ただし、return(x)とした場合は型推論できない(?)ということで、返値の型の省略ができませんでした。型推論についてよく知らないので、次は型推論について調べてみようと思います。

Scalaスクリプトをshebang行で実行するにはどうすればいいの?

$ scala hoge.scalaではなく、Scalaスクリプトに実行権限をつけて$ hoge.scalaで実行したいんです。で、

#!/usr/bin/env scala
print("abc")

とやってみました。
error: script file does not close its header with !# or ::!#
one error found
と、おこられました。

/opt/bin/scalaの中身ってどうなってるの?というわけでlessしてみたらシェルスクリプトでした。最終的には

exec "${JAVACMD:=java}" $JAVA_OPTS -cp "$TOOL_CLASSPATH" -Dscala.home="$SCALA_HOME" -Denv.classpath="$CLASSPATH" -Denv.emacs="$EMACS"  scala.tools.nsc.MainGenericRunner  "$@"

と実行してました。Mac OS Xでgroovyスクリプトをshebangで実行 – Grな日々(uehajの日記)(広告が懐かしすぎ)が参考になるかと思って、少しいじってみましたが知識少なすぎでまだ出来てません。