Monotouch - [NSConcreteValue doubleValue]:发送到实例的无法识别的选择器
Posted
技术标签:
【中文标题】Monotouch - [NSConcreteValue doubleValue]:发送到实例的无法识别的选择器【英文标题】:Monotouch - [NSConcreteValue doubleValue]: unrecognized selector sent to instance 【发布时间】:2012-04-02 16:38:40 【问题描述】:这似乎是一个有点模糊的问题 - 但是在我的 UI 中点击我会得到一个“无法识别的选择器发送到实例”。堆栈跟踪真的不是很有帮助。一般来说 - 在 Monodevelop 中调试它的最佳方法是什么?任何建议都会非常有帮助。
【问题讨论】:
我在这里找到了几个可能的解决方案:***.com/questions/7773628/…***.com/questions/7804404/… 堆栈跟踪对大多数人来说可能看起来没有用(当您看到它时,这是因为很多事情/检查失败了(但它对某些人可能非常有用。请编辑您的问题,向我们展示您拥有的相关代码和堆栈跟踪。使用这些我们应该能够找到问题所在。 【参考方案1】:Rolf 的链接揭示了正确答案。 更改:
CABasicAnimation scale_animation = CABasicAnimation.FromKeyPath("transform.scale");
到:
CABasicAnimation scale_animation = CABasicAnimation.FromKeyPath("transform");
谢谢!
【讨论】:
简单而完美:D. 对我来说是“transform.translation.x”到“transform” @xindong 的回答通过演示导致崩溃的原因更好地回答了这个问题。【参考方案2】:第一个答案不是一个好的解决方案。 transform.scale应该是double类型,如果你给CABasicAnimation的fromValue
或toValue
赋值为NSValue类型,它不能转换成double值,所以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);
【讨论】:
以上是关于Monotouch - [NSConcreteValue doubleValue]:发送到实例的无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 DialogViewController (Monotouch.Dialog) 上设置背景颜色
Monotouch 找不到 AudioFileOpenURL
MonoTouch:StoryBoarding - 手动转场?