1

重複の可能性:
Objective-C 2.0 のプロパティとインスタンス変数

以下のコードを書きました。どちらも xcode 3/ios4 と xcode 4/ios5 で動作しました

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {

NSString *s;

}
@property (retain ,nonatomic) NSString *s;
@end

変数宣言のないもの

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {



}
@property (retain ,nonatomic) NSString *s;
@end

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {

NSString *s;

}

変数宣言あり/なしの書き方の違いは何ですか

私が知っているように、 @property は、プロパティのメソッド setter/getter を置き換える/単純化することを意味します。{ } 内の変数宣言は、testViewController の外部からアクセスできないプライベート プロパティを意味しますか?

4

1 に答える 1

0

関連するivarなしでプロパティを宣言すると、コンパイラはデフォルトでそれを挿入します。1 つの違いは、暗黙の ivar が派生クラスとクラスの外では見えないことです。

于 2012-04-29T12:36:15.137 に答える