トップページ > プログラム > 2016年10月13日 > TfTkEqcE

書き込み順位&時間帯一覧

6 位/201 ID中時間01234567891011121314151617181920212223Total
書き込み数0220000000000000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net

書き込みレス一覧

Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
497 :デフォルトの名無しさん[sage]:2016/10/13(木) 01:30:12.49 ID:TfTkEqcE
>>489
大丈夫。
myclass* obj[3]; //ポインタ型の配列 省略されてるがstrong
ARC有効なのでmainのスコープを抜けた時に解放される。
@autoreleasepoolは要らない。
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
498 :デフォルトの名無しさん[sage]:2016/10/13(木) 01:33:33.88 ID:TfTkEqcE
ARCだからreleaseは呼べないので、解放されるかチェックするなら
@implementation myclass
- (void)dealloc
{
 NSLog(@“%s”, __func__);
}
@end
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
502 :デフォルトの名無しさん[sage]:2016/10/13(木) 02:11:12.99 ID:TfTkEqcE
>>495
これで動作確認してみたよ。(ARC)
-deallocも呼ばれる。

int main()
{
 myclass* obj[3];
 for(int i=0; i<3; ++i) {
  obj[i] = [ [myclass alloc]init ];
  [obj[i]set : i*10];
  [obj[i]print];
 }
 return 0;
}

>>500
MRCなら[super dealloc]; を末尾で呼びます。

>>501
手動でretain, releaseなんだけど、init系はretain済みを返すとか、
コンビニエンスコンストラクタはautorelease済みを返すとか、
ViewにaddSubviewしたらretainされるとか、いろいろややこしいかもよw

あと、Xcodeのテンプレではmain()に@autoreleasepoolがあるけど、
ARCなら上記のとおり解放されるし、どのみちmainを抜けたらアプリ終了で解放されるんだよね。
Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
504 :デフォルトの名無しさん[sage]:2016/10/13(木) 02:32:47.05 ID:TfTkEqcE
>>503
GCCはARC未サポートみたいだね。
MRCの基本自体は簡単なんだけどね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。