« ひとりよりぶらりがいいさ | トップページ | 人間魚雷回転 »

2010.09.08

UIViewControllerのふしぎ

UIViewController *viewCtrl = [[UIViewController alloc] init];
printf("%d\n",viewCtrl.view.retainCount);
printf("%d\n",viewCtrl.view.retainCount);
printf("%d\n",viewCtrl.view.retainCount);
.....

 これを実行すると、

2
3
4

 UIViewを得ただけでretainされるのか? ていうかnavigationItemも同じだった。これは仕様かそれともバグか? 見ただけで状態が変わる、というのは量子か何かか。

9/8 9:37追記
 NSViewControllerでも同じだった。これは仕様だな。でもどういう仕様なのか。

|

« ひとりよりぶらりがいいさ | トップページ | 人間魚雷回転 »

コメント

UIViewController の view プロパティは、
@property(nonatomic, retain) UIView *view
と宣言されてるから、得るたびにretainされるのではなかろうか。

投稿: kiwi | 2010.09.08 08:13

 retainは、セットする時に行われます。

http://developer.apple.com/jp/documentation/Cocoa/Conceptual/ObjectiveC/

ここのretainの説明に、

代入時にオブジェクトに対してretainを呼び出す必要があることを指定します。

とあります。

投稿: をかのゆ | 2010.09.08 09:20

中に猫が住んでたりはしなかったか

投稿: ヅラえもん | 2010.09.09 00:32

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: UIViewControllerのふしぎ:

« ひとりよりぶらりがいいさ | トップページ | 人間魚雷回転 »