почему я не могу объявить переменную типа «newVariable» в Obj-C?

Ошибка, которую я получил

error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects /Users/.../ViewController.h:12:40: note: property declared here @property (nonatomic, retain)NSString *newString; 

почему я не могу использовать новое имя переменной в начале? (например, newString )

Объявление свойства синтезирует два метода доступа (getter / setter):

 -(NSString*)newString; -(void)setNewString:(NSString*)newString; 

Objective-C имеет соглашение об именах для управления памятью, которое выполняется компилятором. Методы, начинающиеся с new (также «alloc», «copy», «mutableCopy»), должны возвращать объект, который будет «принадлежать» вызывающему. См. Документацию . Сгенерированный метод доступа не соответствует правилу.

Это соглашение об именах уже используется в Objective-C. Для выполнения этой работы вам нужно будет использовать что-то вроде простой старой myString . Это компилятор – компиляторы придирчивы.

Interesting Posts
Давайте будем гением компьютера.