为什么这不起作用?
// spriteArray is an NSMutableArray
int spriteWidth = [spriteArray objectAtIndex:0].contentSize.width;
我收到错误:
请求memeber'contentSize',而不是结构或联合
如果我更改了代码:
CCSprite *tempSprite = [spriteArray objectAtIndex:0];
int spriteWidth = tempSprite.contentSize.width;
然后没关系。
我尝试过施法:
int spriteWidth = (CCSprite*)[spriteArray objectAtIndex:0].contentSize.width;
但它也不起作用。
有没有办法在不创建精灵参考的情况下执行此操作?
答案 0 :(得分:2)
我相信.
比铸造更紧密。尝试
int spriteWidth = ((CCSprite*)[spriteArray objectAtIndex:0]).contentSize.width;
请参阅this table。
答案 1 :(得分:2)
objectAtIndex:
的返回类型为id
,不是struct
也不是union
。如果您想使用强制转换,请尝试
((CCSprite*)[spriteArray objectAtIndex:0]).contentSize.width
否则,请使用临时变量。