Objective-C,访问NSArray中的对象变量

时间:2014-06-02 22:24:36

标签: objective-c object nsarray

是否可以使用像这样的对象数组直接访问对象变量。

NSArray *myObjectsInArray = [NSArray arrayWithObjects:(id) myClass,myOtherClass, nil];

NSLog(@"%d",[myObjectsInArray[0] returnSize]);   //works perfect

NSLog(@"%d",[myObjectsInArray[0].size]);  // error

我不确定它是否是语法问题,或者是否在没有方法的情况下无法访问它。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

访问类似myArray[0]的数组与调用[myArray objectAtIndex:0]同等重要。 objectAtIndex:的返回值为id。任何方法调用都可以发送到id引用。但是,编译器不允许使用点语法快捷方式来调用方法。

如果您真的想使用点语法,则需要进行强制转换。

NSLog(@"%d",[((MyClass*)myObjectsInArray[0]).size]);