我有一个像这样返回CGSize的方法......
-(CGSize)theSizeToUse
然后在其他地方我有代码询问该类是否响应此选择器,如果是,请使用执行选择器调用它...
if ([myClass respondsToSelector:@selector(theSizeToUse)]) CGSize
theSize = [myClass performSelector:@selector:(theSizeToUse)];
嗯,这不会起作用,因为performSelector将返回一个id,而不是CGSize,所以我试着将它包装在一个NSValue中并返回一个NSValue,然后我将其解包。 / p>
查看NSValue的文档,它非常清楚该怎么做...只需调用NSValue valueWithSize
打包它,然后NSValue sizeValue
解压缩它。
一切顺利,直到我达到sizeValue ...没有这样的属性或方法。
我正在为iOS开发,在OS X 10.10的MacBook上定位iOS 7
知道如何才能让它发挥作用吗?
答案 0 :(得分:4)
您可能是通过Google查询NSValue
了吗?这会将您带到Mac文档,该文档为+valueWithSize:
结构建议sizeValue
和NSSize
。 iOS上未定义NSSize
。
对于iOS,您应该使用+valueWithCGSize:
和-CGSizeValue
。 NSValue
的iOS文档为here。