Немного смущает расширение класса, данное учебником Objective-C от Apple. Говорят, класс может иметь свою частную собственность, какМогу ли я написать частную собственность, а также частную переменную в том же расширении класса?
@interface SomeClass()
@property NSString* privateProperty
@end
в то время как я могу добавить так называемый пользовательский переменный экземпляр для расширения класса как
@interface SomeClass()
{
NSString* instanceVar
}
@end
я добавлял их вместе в одном расширении класса по обучающей импликации например
@interface SomeClass()
@property NSString* privateProperty
{
NSString* instanceVar
}
@end
, что приводит к ошибке компиляции Xcode. Не понимаю ли я учебник?
@ Daij-Djan Ваш комментарий не имеет смысла. Это именно тот вопрос, который должен быть на SO. И что, если проблема синтаксиса не относится к расширению класса. ОП задает четкий вопрос программирования о языке программирования Objective-C. – rmaddy
Откладывая мета-обсуждение, вызывающее отсрочку, на практике декларация '@ property' может рассматриваться как замена, надмножество в виде фигурного скопированного выражения переменных экземпляра. Если вы пытаетесь изучить язык, а не его историю, используйте '@property ivar'. Подумайте об этом как однострочное объявление экземпляра var (называемое '_ivar'), геттер, который можно использовать как' instance.ivar', и установщик, который может использоваться как 'instance.ivar = <некоторое значение типа > ' –
danh