Я пытался что-то понять в течение нескольких часов, и я хотел бы узнать вашу точку зрения.
У меня есть setter / getter для одного из свойств моего класса (я заметил, что ДОЛЖЕН добавить «set» перед именем setter, иначе компилятор говорит, что нет setter):
@property (nonatomic, retain, readwrite, setter=setTopString:, getter=TopString) NSString* m_topString;
Когда я вызываю сеттер, как это, компилятор счастлив:
[secureKeyboardController setTopString:@"This action requires that your enter your authentication code."];
Но когда я пытаюсь использовать соглашение "точка", компилятор отклоняет меня:
secureKeyboardController.topString = @"This action requires that your enter your authentication code.";
Что действительно странно, так это то, что соглашение об именовании точек работает с этим свойством:
@property (nonatomic, readwrite, getter=PINMaxLength, setter=setPINMaxLength:) NSInteger m_PINMaxLength;
В этом случае я могу сделать:
[secureKeyboardController setPINMaxLength:10];enter code here
или
secureKeyboardController.PINMaxLength = 10;
В обоих случаях компилятор доволен.
Я действительно хотел бы заснуть сегодня ночью, будучи менее глупым, чем сейчас. Таким образом, любое объяснение будет с благодарностью.
С уважением,
Apple92