-1

重複の可能性:
@synthesize と @dynamic の違いは何ですか?

オブジェクトのアクセサ メソッドを実行することをコンパイラに指示するようなオブジェクトを作成する場合@dynamic obj; 、これらのメソッドをどこに実装する必要があるのでしょうか。

@property を宣言したのと同じクラスにアクセサ メソッドを実装する場合@dynamic、ヘッダー ファイルのように を使用する必要さえありません。

@proprty (attribue) NSString *objStr;

そして.mで:

- (NSString *)objStr { 
}

- (void)setObjStr:(NSString *)somestring {
}
4

1 に答える 1

9

この@dynamicキーワードは、実行時に動的にアクセサ メソッドを提供することをコンパイラに伝えます。これは、Objective-C ランタイム関数を使用して実行できます。

通常、@dynamicCore Data モデルに基づいて Core Data がアクセサーを提供する Core Data などで使用します。

ほとんどの通常の場合、使用しないことは正しいです@dynamic。通常、@propertyor@propertyとのみを使用し@synthesizeます。

于 2012-09-16T08:31:40.610 に答える