我刚刚开始使用obj-c,我创建了2个文件,一个.h和一个.m文件。 .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个错误,这是......
“具有assign属性的属性黄金的现有ivar”_gold“必须保留__unsafe”并且名称相同。
答案 0 :(得分:1)
从错误中我看到您正在使用ARC,自动引用计数。
基本上你可以摆脱所有@synthesize语句,甚至没有必要使用ivar名称和黄金的私人声明。
你需要的只是CardUnit.h:
@interface CardUnit : NSObject
@property (assign) NSString *name;
@property (assign) NSString *gold;
@end
Xcode编译器将负责其余部分。