Xcodeの最新バージョンでは、合成を使用してivar、ゲッター、セッターを生成する必要がないことを読んでいます。Xcode自体がこれを処理し、_youIvarNameのようなものを作成しますが、これを試した後、この作品を作ることができませんでした。
プロパティを宣言しても、これらの_yourVarName Xcodeにアクセスしようとすると、そのような変数は存在しないと表示されます。
例
ヘッダーファイル:
@interface ComplexNumber : NSObject
@property double realPart;
@property double imaginaryPart;
実装:
#import "ComplexNumber.h"
@implementation ComplexNumber
-(double)modulus
{
return sqrt(_realPart*_realPart + _imaginaryPart*_imaginaryPart);
}
-(void)setRadius:(double)aRadius phase:(double)aPhase
{
[self setRealPart] = aRadius * cos(aPhase);
self.imaginaryPart = aRadius * sin(aPhase);
}
-(void)print
{
NSLog(@"%g + %gi", realPart, imaginaryPart);
}
これらの_yourIvarが機能したものにアクセスしようとする試みはありません...私がここで把握していないことについての手がかりはありますか?
編集:
私の主な質問は、@property
Xcodeがゲッター、セッター、およびインスタンス変数(先頭にアンダースコア_myVarを含む)を使用せずに自動的に生成することを宣言した場合、 @synthesize
?これは私がstackoverflowで読んだものであり、実際に機能するかどうかはわかりません。