1

クラスには、どこからでもアクセスできるようにしたいインスタンス変数がいくつかあります。そのようです:

@interface SomeObject : NSObject
{
    @public
        NSString *someString;
}
@end

@implementation SomeObject
@end

->C++ で行うように、以下のような構文を使用してインスタンスからプロパティにアクセスできます。

someObjectInstance->someString

外の世界からアクセスできるようにすることだけが必要な場合に備えて、プロパティを作成する必要someStringがありますか? インターフェイスに@propertyforを作成し、実装に for を作成して、ドット構文を使用してアクセスできるようにします。someString@synthesize

4

2 に答える 2

3

一般的に、データを公開する場合は、プロパティを使用する必要があります。インスタンス変数を公開することは、一般的に悪い考えです。

于 2012-01-24T10:09:28.600 に答える
0

はい、あなたがそれを にするときにしていることは、事実上@property、それを使用している人々にsetSomeStringandsomeStringメソッドを呼び出すように指示しているためです。それらを使用している場合でも、必要に応じてメソッドを変更できる@synthesizeため、メソッドを使用する方がコードの品質が向上します。ポインター参照を使用しているだけの場合、アクセスをインターセプトする必要がある場合は、インターセプトできません。

于 2012-01-24T10:12:43.873 に答える