是否可以使用像这样的对象数组直接访问对象变量。
NSArray *myObjectsInArray = [NSArray arrayWithObjects:(id) myClass,myOtherClass, nil];
NSLog(@"%d",[myObjectsInArray[0] returnSize]); //works perfect
NSLog(@"%d",[myObjectsInArray[0].size]); // error
我不确定它是否是语法问题,或者是否在没有方法的情况下无法访问它。 谢谢你的帮助。
答案 0 :(得分:1)
访问类似myArray[0]
的数组与调用[myArray objectAtIndex:0]
同等重要。 objectAtIndex:
的返回值为id
。任何方法调用都可以发送到id
引用。但是,编译器不允许使用点语法快捷方式来调用方法。
如果您真的想使用点语法,则需要进行强制转换。
NSLog(@"%d",[((MyClass*)myObjectsInArray[0]).size]);