2010年04月20日

Objective-Cでのsingletonパターン

Objective-Cでのsingletonパターンのやり方。
一番シンプル、かつ、Appleからレコメンドされているやりかた。


#import "SystemParameters.h"

static SystemParameters *systemParam = nil;

@implementation SystemParameters

+(SystemParameters *) getInstance {
@synchronized(self) {
if (systemParam == nil) {
systemParam = [[SystemParameters alloc] init];
}
}

return systemParam;
}

-(id)autorelease {
return self;
}

@synthesize currentLocation;

@end


最後のautoreleaseは必要かどうか分からんかったが、とりあえず書いとく。
systemParamに関しては、.hファイルでは無く.mファイルに書く事。

ソースその1
ソースその2
ラベル:iPhone Objective-C
posted by 1.618 at 11:51| Comment(0) | iPhone | このブログの読者になる | 更新情報をチェックする

2010年04月19日

Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pairエラー

またiPhone...orz

今度は

Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain

などとふざけたエラーが起こってビルド→実行できない。

色々ググってみると、『キーチェーンアクセス』というアプリケーションが勝手に状態変更してしまって起こるエラーらしい。

これの左側にある『ログイン』を右クリックして『ディフォルト』にしたらなおるらしいんでやってみたが治らない。

Apple死ね、マヂで!

ここによるとどうも『Xcodeをインストールした時のものをディフォルト』にしないといけないらしい。

知るかっ!!
そんなん一々確認してインストールする馬鹿がいるかアホ!!


とりあえず、『ログイン』が駄目だったんで、『システム』をディフォルトにしてxcodeを起動→実行でどうも治ったっぽい。。。

だが!
確認の為にもう一回xcodeを閉じる→xcode再起動→ビルド実行→エラー

orz

『ログイン』をディフォルトに直す→xcode再起動→ビルド実行

でうまくいった。

どうもオープンするプロジェクトによるっぽい。

iPhone Dev Centerからダウンロードしてきたやつに関してはログインがディフォルトでは動かない。→システムをディフォルトにして実行→で『一回だけ』動いた。

自分で作成したプロジェクトは
→ログインをディフォルトにして実行→とりあえずOKっぽい。

結論『意味分からん』。

。。。iPhoneの開発、怖いなぁ。。。

Androidの開発は糞簡単だったのに。。。
ラベル:iPhone Xcode エラー
posted by 1.618 at 17:13| Comment(4) | iPhone | このブログの読者になる | 更新情報をチェックする

"Messages without a matching method signature will be..."のワーニング

iPhoneプログラミングを始めてるのだが、

"Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments."

とエラーが出た。

まぁ読んでみると明らかなのだが、.hの方にメソッドの宣言をするのを忘れてるとこうなる。

ただ、XcodeはEclipseみたく自動ビルド機能ついてねぇんで、Command+bで再ビルドしないとワーニングは消えない。

。。。メンドクサ。
posted by 1.618 at 11:25| Comment(0) | iPhone | このブログの読者になる | 更新情報をチェックする

2010年02月19日

iPhoneでscrollTopみたいな事をする

iPhoneにscrollTopは無い。
代わりに、pageYOffsetがある。

一番下まで来た場合に何か処理をさせたい場合、scrollTopが無いiPhoneはpageYOffsetを使用するしかない。

ただ、pageYOffsetだけでは不十分
pageYOffsetは現在の画面の一番上の縦位置が全体のどの位置までスクロールしたかがわかるだけ。一番下に来たかどうかかわからない。

なので、

window.innerHeight

を足してやる事で画面下の位置が取得できる。


//画面下の位置取得
var bottomPos = window.pageYOffset + window.innerHeight;

//スクロールできる縦の長さ取得
var max = document.documentElement.scrollHeight;

//もしも一番下まで来た場合は"bottom"とアラートを出す。
if(bottomPos == max) {
alert("bottom");
}


これで一番下まで来たかどうかわかる。
拡大縮小、縦置き横置きにも対応してるのは確認済み。

以上!


参考サイト
Detect bottom of page?
ラベル:iPhone javascript
posted by 1.618 at 01:46| Comment(1) | iPhone | このブログの読者になる | 更新情報をチェックする

2009年12月08日

macbook pro買った

マック買った。
今までずーっとPCだったから無茶苦茶使い辛い...><;

PATHの追加でも一苦労!
ようやくEclipseとAndroidのプラグイン、ADTを入れたのだがPCと比べると若干重い...

xCodeも入れてみたがこれがまた...(汗

もう少し触ってみて慣れるしかないなぁ...
ちなみにこれ、macで書いてます。w
ラベル:MacBook iPhone
posted by 1.618 at 23:48| Comment(0) | iPhone | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。