add(Propertyname)方法来自哪里?

时间:2011-08-25 13:31:42

标签: objective-c properties

我正在使用以下行在objective-c程序中声明属性。

@property (retain) int Money;

和我的实现文件中的syntesize。

现在我想在我的实现中创建一个addMoney方法,在我的程序中添加一些金额。我正在输入addMoney,当我意识到Xcode总是说有一个方法,我可以覆盖这个名字。它有以下签名。

-(void)addMoney:(NSSet *)objects;

-(void)addMoneyObject:(object-type *)object

他们来自哪里以及谁在打电话给他们?我怎么能自己用呢?使用它时我必须注意什么?

2 个答案:

答案 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依赖于键值编码。这需要以某种方式命名或不起作用。