Objective-C [ObjC part:4];
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
100:デフォルトの名無しさん 09/06/10 07:22:05 [dic setObject:[[[Hoge alloc] init] autorelease] forKey:@"hoge"]; じゃないとだめ 101:デフォルトの名無しさん 09/06/10 16:29:35 改行したいときって何を書けばいいんでしょうか? \nでも\rでもダメだったんですが。 102:デフォルトの名無しさん 09/06/10 17:05:39 (option + ¥) n 103:デフォルトの名無しさん 09/06/10 18:15:29 >>102 ありがとうございます 104:デフォルトの名無しさん 09/06/10 23:35:38 >>99 それ今の仕様だとメモリリークするけど? 105:デフォルトの名無しさん 09/06/11 00:01:56 >>104 今の仕様って何? GCのこと?だとしたらGCは仕様じゃなくてオプションだと思うんだが 106:デフォルトの名無しさん 09/06/11 00:07:37 >>105 どっちにしてもコレクションに入れたものを objectForkeyで取り出して開放してもリークするだろ 107:デフォルトの名無しさん 09/06/11 01:10:47 >>106 意味が分からん、説明して #import "Hoge.h" @implementation Hoge - (void) dealloc { NSLog(@"hoge dealloc"); [super dealloc]; } @end #import "AppController.h" #import "Hoge.h" @implementation AppController - (void)awakeFromNib { NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; [dict setObject:[[Hoge alloc] init] forKey:@"hoge"]; Hoge *hoge = [dict objectForKey:@"hoge"]; [hoge release]; NSLog(@"%d", [hoge retainCount]); // [dict removeObjectForKey:@"hoge"]; [dict release]; } @end これでログ出した時点でhogeのretainCountは1でMutableDictionaryに保持されてるだけの状態。 辞書から取り除くか辞書を解放すればHogeはちゃんとdeallocされるんだけど、どこが違うんだ?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5404日前に更新/248 KB
担当:undef