Objective-C の学習に数日を費やしましたが、 についていくつか質問があり@property
ます。私はC#の経験があるので、ポインタ、初期化などの必要性を理解しています.
例として:
@interface MyClass : NSObject
{
IBOutlet UIImageView *image;
}
@property (retain, nonatomic) UIImageView *image
@end
@implementation MyClass
@synthesise image
@end
@synthesise
が の作成に使用されていることを理解しています@property
。しかし、私は物事を明確にするのに役立ついくつかの質問があります:
@property
元の定義を複製または置き換えますか?それとも元の定義の可変性と原子性を設定するだけですか?@synthesise
を使用する必要がなくなりますimage = [[UIImageView alloc] init]
か?- を提供せず
@property
、変数を手動で作成および破棄する場合、違いはありますか?
最終的には、2 つの違いです。@property は、メモリ管理とマルチスレッドに関して柔軟性を高め、通常のものはデフォルトを提供します。