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 は、メモリ管理とマルチスレッドに関して柔軟性を高め、通常のものはデフォルトを提供します。