无法将“对象”表达式转换为类型“MonoTouch.Foundation.NSObject”
Posted
技术标签:
【中文标题】无法将“对象”表达式转换为类型“MonoTouch.Foundation.NSObject”【英文标题】:Cannot convert `object' expression to type `MonoTouch.Foundation.NSObject' 【发布时间】:2011-08-06 16:25:27 【问题描述】:我开始了一个新的 MonoTouch 项目。我打开 Interface Builder 并创建了一个按钮和插座。我将按钮连接到插座。我保存了 XIB,然后回到 MonoDevelop 并尝试构建项目。我在生成的 XIB Designer 文件中遇到错误。错误是:
错误 CS1502:“MonoTouch.Foundation.NSObject.SetNativeField(string, MonoTouch.Foundation.NSObject)”的最佳重载方法匹配有一些无效参数 (CS1502) (Test2) 错误 CS1503:参数“#2”无法将“object”表达式转换为“MonoTouch.Foundation.NSObject”类型(CS1503)(Test2)这是创建的属性:
#pragma warning disable 0169
[MonoTouch.Foundation.Connect("window")]
private object window
get
this.__mt_window = ((object)(this.GetNativeField("window")));
return this.__mt_window;
set
this.__mt_window = value;
this.SetNativeField("window", value);
有什么想法吗?
【问题讨论】:
你能发布你的 XIB 布局截图吗? 如果我创建一个新项目,构建,它可以工作。如果我打开 XIB(在 Interface Builder 中),不要更改任何内容并单击保存,然后构建,它会失败。我的 XIB 除了默认窗口之外什么都没有。 您使用的是最新的软件版本吗? 就是这样。您可以将此作为答案发布吗?我会给您信用吗? 【参考方案1】:确保您使用的是工具的最新(和匹配)版本。 例如,MonoTouch installation page 列出了最新版本的以下要求:
XCode 3.2.6 and ios 4.3 SDK Mono framework Mac OS X 的 2.10.3 - 英特尔运行时 MonoDevelop IDE2.4.2或以上
【讨论】:
以上是关于无法将“对象”表达式转换为类型“MonoTouch.Foundation.NSObject”的主要内容,如果未能解决你的问题,请参考以下文章
使用 Monotouch 时如何将 CGColor 转换为 NSObject?
无法将“NSManagedObject”类型的返回表达式转换为“字符串”类型?
无法将 lambda 表达式转换为“字符串”类型,因为它不是委托类型 [重复]
无法将“MopubBannerAdView”类型的返回表达式转换为“UIViewController”类型的返回表达式?
无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型
具有 UNNotificationRequest 的计算属性返回无法将类型“Void”的返回表达式转换为返回类型“[UNNotificationRequest]”