Что именно делает оператор.(Точка) в Objective-C
Я изучал C и C++ и сейчас пытаюсь изучить Objective-C, но меня немного смущает оператор точки, используемый в экземплярах классов. Скажем, я объявил класс:
MyClass* myinstance = [[MyClass alloc] init];
//Then I call the member function foo:
myinstance.foo;
Очевидно, что это работает в Objective-C, но в C++ или C (в случае структуры) это не будет. Вы должны будете использовать оператор ->. Поэтому я ищу объяснение того, что именно оператор.(Точка) делает в Objective-C и как два разных значения из ObjC и C не вызывают проблем совместимости между C и Objective-C, даже если Objective-C строгий надмножество C.
1 ответ
Точечная нотация - вызывать метод так, как мы это делаем, используя пробел. мы можем вызывать методы, используя пробел со всеми переменными, но точечная нотация используется со свойством и синтезирует только переменные
пример
variable.method_name; //is a dot notation with property and synthesized variable
[variable method_name]; // is space notation
и точечная нотация для всех свойств по умолчанию, потому что они уже являются свойством и синтезируются как
label.text = @"Ashok";
и как упомянутое пространство можно использовать, синтезируя отдельно, используя метод set как
[label setText:@"Ashok"];
ThanQ