Я искал ответ на этот простой вопрос, но не повезло.Итак, вот оно: возможно ли получить доступ к значениям структуры объекта в Objective-C без использования точечной нотации, т. Е. С использованием только канонического синтаксиса сообщения?Например, предположим, что у нас есть переменная экземпляра CGPoint, position, определенная для объекта Particle:
//Particle.h
@interface Particle : NSObject {
CGPoint position
}
@property CGPoint position;
@end
и соответствующая реализация:
//Particle.m
#import "Particle.h"
@implementation Particle
@synthesize position;
@end
И предположим, что в некоторых других *.m файл (скажем, AppController.m) у нас есть:
a_particle = [Particle alloc];
[a_particle setPosition:CGPointMake(x_val,y_val)];
Тогда почему мы не можем использовать:
[[a_particle position] x];
, чтобы получить x_val вместо:
a_paticle.position.x;
отмечая, что последний работает нормально?Также обратите внимание, что
[a_particle position].x;
будет работать, но я стараюсь не загромождать вещи точечной нотацией.Я догадываюсь, что переменная экземпляра структуры ДОЛЖНА использовать точечную нотацию для доступа к своим значениям (в данном случае x_val и y_val), это правда?