我正在使用以下行在objective-c程序中声明属性。
@property (retain) int Money;
和我的实现文件中的syntesize。
现在我想在我的实现中创建一个addMoney方法,在我的程序中添加一些金额。我正在输入addMoney,当我意识到Xcode总是说有一个方法,我可以覆盖这个名字。它有以下签名。
-(void)addMoney:(NSSet *)objects;
和
-(void)addMoneyObject:(object-type *)object
他们来自哪里以及谁在打电话给他们?我怎么能自己用呢?使用它时我必须注意什么?
答案 0 :(得分:0)
Money是ManagedObject(核心数据对象)吗?如果是这样,可能正在为您创建该方法。合成属性应提供setter和getter,但该方法看起来像 - (void)setMoney:(int)money和 - (int)Money
答案 1 :(得分:0)
此方法实际上并不存在。 Xcode通过完成一些常见的命名模式来帮助您。这种情况有点普遍:
@class Thing;
@property (nonatomic, retain) NSMutableSet *things;
- (void)addThings:(NSSet *)someThings;
- (void)addThing:(Thing *)aThing;
Xcode只是试图让它更容易输入。但除非你创建它们,否则这些方法并不存在。
附注:你不能retain
int
,所以我认为这不是真正的代码。没关系。确保您的属性以前导小写字母(money
)开头。这不仅仅是个人风格。对于很多事情,ObjC依赖于键值编码。这需要以某种方式命名或不起作用。