スポンサーサイト
--.--.--.-- Posted in スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

# ARC forbids explicit message send of 'retain'
Fri.23.03.2012 Posted in Xcode
0 comments 0 trackbacks
ARC forbids explicit message send of 'retain'というエラーが大量に出てしまった。


調べたところ'retain'を使うなという意味らしい。
ARCという新機能?により今まで手動で行っていた以下が不要になった。
・retain
・Release
・Autorelease

例)
今ままではこのような記述していたが
- (void)viewDidLoad
{
[super viewDidLoad];
a_img = [[UIImage imageNamed:@"a.png"] retain];
b_img = [[UIImage imageNamed:@"b.png"] retain];
c_img = [[UIImage imageNamed:@"c.png"] retain];
}

これでいいみたい。(間違っていたら指摘して下さい。)
- (void)viewDidLoad
{
[super viewDidLoad];
a_img = [UIImage imageNamed:@"a.png"];
b_img = [UIImage imageNamed:@"b.png"];
c_img = [UIImage imageNamed:@"c.png"];
}

後者のロジックのように今まで通りに記述したいのであれば新機能をOFFにする必要がある。
設定方法は以下の通り。

①プロジェクトファイルを選択して
②Build settingsタブを選択して、Levelsというのを選択。
③"Automatic"を検索
④“Apple LLVM Compiler 3.0 ? Language”というのがあって、
 その中の、Objecctive-C Automatic Refarence Counting があるのでNoに。

ACR_20120323213156.jpg
関連記事

Theme: iPhone « コンピュータ

« VirtualBoxでUSBを認識しない時の備忘録 | Home | 起動せずに気温がわかる天気アプリCelcius »

comments

コメントの投稿


管理者にだけ表示を許可する

trackback


この記事にトラックバックする(FC2ブログユーザー)

topBack to TOP

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。