Откуда берется метод add (Propertyname)? - PullRequest
2 голосов
/ 25 августа 2011

Я использую следующие строки для объявления свойства в моей программе target-c.

@property (retain) int Money;

и syntesize в моем файле реализации.

Теперь я хотел сделатьМетод addMoney в моей реализации для добавления суммы денег в мою программу.Я набирал addMoney, когда понял, что Xcode говорит, что всегда есть метод с этим именем, который я могу переопределить.Он имеет следующую подпись:

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

и

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

откуда они и кто их зовет?И как я могу использовать это сам?Что я должен уделять внимание при использовании этого?

Ответы [ 2 ]

0 голосов
/ 25 августа 2011

Этот метод на самом деле не существует.Xcode помогает вам, выполнив некоторые распространенные шаблоны именования.Это довольно распространенная ситуация:

@class Thing;
@property (nonatomic, retain) NSMutableSet *things;

- (void)addThings:(NSSet *)someThings;
- (void)addThing:(Thing *)aThing;

XCode просто пытается немного упростить его ввод.Но методы на самом деле не существуют, если вы их не создадите.

Примечание: вы не можете retain и int, поэтому я предполагаю, что это не настоящий код.Все в порядке.Убедитесь, что ваши свойства начинаются со строчной буквы (money).Это не просто индивидуальный стиль.ObjC полагается на кодирование значения ключа для многих вещей.Это требует, чтобы вещи были названы определенным образом, иначе это не сработает.

0 голосов
/ 25 августа 2011

Является ли Money ManagedObject (базовый объект данных)?Если так, то этот метод может быть создан для вас.Синтезированные свойства должны предоставлять сеттер и геттер, но этот метод будет выглядеть следующим образом - (void) setMoney: (int) money и - (int) Money

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...