Xamarin.ios MonotTouch和Objective C之间的绑定NSArray
我创建了一个静态库,并尝试使用 在绑定中,我想将NSArray从MonoTouch传递到Objective C。我在ApiDefinition.cs中定义了它,如 NSObject[]数据数组{get;set;}Xamarin.ios MonotTouch和Objective C之间的绑定NSArray,xamarin.ios,static-libraries,Xamarin.ios,Static Libraries,我创建了一个静态库,并尝试使用 在绑定中,我想将NSArray从MonoTouch传递到Objective C。我在ApiDefinition.cs中定义了它,如 NSObject[]数据数组{get;set;} 当我尝试从MonoTouch传递字符串数组时 var b=新[]{“项目1”、“项目2”、“项目3”} 获取以下错误 不能将类型“String []”隐式转换为MatrouCuff.Frase.NbObj[]/P> 当我试图通过MonoTouch的NSArray时 NSArra
- 当我尝试从MonoTouch传递字符串数组时
不能将类型“String []”隐式转换为MatrouCuff.Frase.NbObj[]/P>
- 当我试图通过MonoTouch的NSArray时
不能将类型单调的.Fuff.NSrar隐式转换为单调的.Frase.NSbObj[]/P>
如何将数组从MonotOuch传递到Objective C?绑定Objective-C数组时,您有多种选择,例如,您可以在
NSObject[]上使用NSArray
。我更喜欢后者,但两者都是有效的选择
NSArray array1 = NSArray.FromObjects ("Item 1", "Item 2", "Item 3");
使用NSArray
将使上述代码正常工作,因为它返回NSArray
o您选择了NSObject[]
,因此必须遵循您的决定,即使用NSObject
var b = new[] { "Item 1", "Item 2", "Item 3" };
上面将使用System.String
的数组。string
和NSObject
之间没有直接转换。您可以将其重新编写为:
var b = new NSObject [] { new NSString ("Item 1"), new NSString ("Item 2"), new NSString ("Item 3") };
这应该满足编译器的要求,并且很可能,如果不看到它,就不能确定这是您的本机API想要的
注意:如果本机API接受NSString
数组,则可以将其绑定为NSString[]
绑定objective-c数组时有多种选择,例如,可以在NSObject[]
上使用NSArray
。我更喜欢后者,但两者都是有效的选择
NSArray array1 = NSArray.FromObjects ("Item 1", "Item 2", "Item 3");
使用NSArray
将使上述代码正常工作,因为它返回NSArray
o您选择了NSObject[]
,因此必须遵循您的决定,即使用NSObject
var b = new[] { "Item 1", "Item 2", "Item 3" };
上面将使用System.String
的数组。string
和NSObject
之间没有直接转换。您可以将其重新编写为:
var b = new NSObject [] { new NSString ("Item 1"), new NSString ("Item 2"), new NSString ("Item 3") };
这应该满足编译器的要求,并且很可能,如果不看到它,就不能确定这是您的本机API想要的
注意:如果本机API接受NSString
数组,则可以将其绑定为NSString[]