我有一个返回CGSize这样的方法...
-(CGSize)theSizeToUse
然后在其他地方,我有代码询问类是否响应此选择器,如果是,请使用perform选择器对其进行调用...
if ([myClass respondsToSelector:@selector(theSizeToUse)]) CGSize
theSize = [myClass performSelector:@selector:(theSizeToUse)];
好吧,这是行不通的,因为performSelector将返回一个id,而不是CGSize,所以我研究了将其包装在NSValue中并返回一个NSValue,然后将其解开。
查看NSValue的文档,很清楚该怎么做...只需调用
NSValue valueWithSize
对其进行打包,然后调用NSValue sizeValue
对其进行打包。一切顺利,直到我达到sizeValue为止……没有这样的属性或方法。
我正在为iOS开发,目标是在装有OS X 10.10的MacBook上使用iOS 7
知道如何使它起作用吗?
最佳答案
您可能通过Google查找了NSValue
吗?这将带您到Mac文档,该文档为+valueWithSize:
结构建议sizeValue
和NSSize
。在iOS上未定义NSSize
。
对于iOS,您应该使用+valueWithCGSize:
和-CGSizeValue
。 NSValue
的iOS文档为here。
关于ios - 通过performSelector传递CGSize,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30652536/