Monotouch - [NSConcreteValue doubleValue]:发送到实例的无法识别的选择器

时间:2012-04-02 16:38:40

标签: iphone ios xamarin.ios

这似乎是一个有点模糊的问题 - 但在我的用户界面中点击时,我收到了一个“无法识别的选择器发送到实例”。堆栈跟踪真的不是很有帮助。一般来说 - 在Monodevelop中调试它的最佳方法是什么?任何建议都会非常有帮助。

2 个答案:

答案 0 :(得分:17)

罗尔夫的链接显示了正确的答案。 改变:

CABasicAnimation scale_animation = CABasicAnimation.FromKeyPath("transform.scale");

为:

CABasicAnimation scale_animation = CABasicAnimation.FromKeyPath("transform");

谢谢!

答案 1 :(得分:3)

第一个答案不是一个好的解决方案。 transform.scale应该为双精度类型,如果您为CABasicAnimation的fromValuetoValue分配了NSValue类型,则它不能转换为双精度值,因此App崩溃了。

错误的示例:

     animation.fromValue = [NSValue valueWithCGSize:CGSizeMake(0.5, 0.5)];
     animation.toValue = [NSValue valueWithCGSize:CGSizeMake(1.2, 1.2)];

正确的示例:

     animation.fromValue = @(0.5);
     animation.toValue = @(1.2);