0

obj-c を使い始めたばかりで、.h ファイルと .m ファイルの 2 つのファイルを作成しました。.h ファイルは..

#import <Foundation/Foundation.h>

@interface CardUnit : NSObject
{
@private 
    NSString *_name;
    NSString *_gold;
}
@property (nonatomic, assign) NSString *name;
@property (nonatomic, assign) NSString *gold;
@end

そして.mファイルは

#import "CardUnit.h"

@implementation CardUnit

@synthesize gold  = _gold;
@synthesize name = _name;

@end

しかし、@synthesize 行で 2 つのエラーが発生しています。

「割り当て属性を持つプロパティ gold の既存の ivar "_gold" は、__unsafe 保持する必要があります」と名前についても同じです。

4

1 に答える 1

1

エラーから、ARC、自動参照カウントを使用していることがわかります。

基本的に、すべての @synthesize ステートメントを取り除くことができ、ivar の名前とゴールドのプライベート宣言さえも不要です。

必要なのは、CardUnit.h を次のようにすることだけです。

@interface CardUnit : NSObject

  @property (assign) NSString *name;
  @property (assign) NSString *gold;

@end

残りは Xcode コンパイラが処理します。

SOに関するこの返信も参照してください

于 2012-07-08T14:32:41.447 に答える