如何在 xamarin ios 中将我的 NSArray 投射到 List<UIView>
How do I cast my NSArray to List<UIView> in xamarin ios
从 XIB 取回了视图列表,我需要单独引用它们。
var headerViews = NSBundle.MainBundle.LoadNib("LoginUpdateHeader",this,null);
我似乎无法执行此操作,因为我收到有关无法使用 [] 将索引应用于类型 Foundation.NSArray:
的错误
var view1 = headerViews[0];
所以我认为我需要将 NSArray 转换为列表之类的东西。我该怎么做或如何引用 NSArray 的不同元素?
简答
var view1 = headerViews.GetItem<UIView> (0);
长答案
NSArray
可以包含不同类型的元素 - 甚至是非 NSObject
子类(例如 CF*
类型)。这使得使用索引器不是很实用,因为它总是最终会被强制转换(因为除了 NSObject
之外别无他法)。
只要可能(如果所有类型都相同)Xamarin 的绑定是使用元素类型完成的,例如NSString[] GetList ()
.
从 XIB 取回了视图列表,我需要单独引用它们。
var headerViews = NSBundle.MainBundle.LoadNib("LoginUpdateHeader",this,null);
我似乎无法执行此操作,因为我收到有关无法使用 [] 将索引应用于类型 Foundation.NSArray:
的错误var view1 = headerViews[0];
所以我认为我需要将 NSArray 转换为列表之类的东西。我该怎么做或如何引用 NSArray 的不同元素?
简答
var view1 = headerViews.GetItem<UIView> (0);
长答案
NSArray
可以包含不同类型的元素 - 甚至是非 NSObject
子类(例如 CF*
类型)。这使得使用索引器不是很实用,因为它总是最终会被强制转换(因为除了 NSObject
之外别无他法)。
只要可能(如果所有类型都相同)Xamarin 的绑定是使用元素类型完成的,例如NSString[] GetList ()
.