【问题标题】:Monotouch - [NSConcreteValue doubleValue]: unrecognized selector sent to instanceMonotouch - [NSConcreteValue doubleValue]:发送到实例的无法识别的选择器
【发布时间】:2012-04-02 16:38:40
【问题描述】:

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

【问题讨论】:

  • 我在这里找到了几个可能的解决方案:stackoverflow.com/questions/7773628/…stackoverflow.com/questions/7804404/…
  • 堆栈跟踪对大多数人来说可能看起来没有用(当您看到它时,这是因为很多事情/检查失败了(但它对某些人可能非常有用。请编辑您的问题,向我们展示您拥有的相关代码和堆栈跟踪。使用这些我们应该能够找到问题所在。

标签: iphone ios xamarin.ios


【解决方案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的fromValuetoValue赋值为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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2012-07-24
    相关资源
    最近更新 更多