[英]Using NSArray with Monotouch
如何在C#(Monotouch)中將項插入NSArray對象? 我找不到合適的方法嗎? 在Objective-C方面,有一個名為“initWithObjects”的構造函數,但我在C#端沒有找到它。
POM
很抱歉回答您的問題,但是您確定要創建NSArray嗎?
我問,因為MonoTouch在幕后做了一些工作,所以你不必處理NSArray。
如果您轉到MonoTouch API設計頁面並對“NSArray”進行頁內搜索,您會發現:
運行時不是處理NSString和NSArray,而是在整個API中將它們公開為C#字符串和強類型數組。
換句話說,除非你有特定的理由,否則你不必亂用NSArray。
但是,如果你確實有理由,或者這是你的偏好,那么Jason的答案是正確的:
NSArray someArray = NSArray.FromNSObjects(thingOne, thingTwo, thingThree);
我唯一要補充的是,如果你是一個Objective-C開發並嘗試使用MonoTouch,你已經習慣了:
NSArray *someArray = [NSArray arrayWithObjects:obj1, obj2, obj3, nil];
不同之處在於Objective-C版本末尾的“nil”。 MonoTouch的NSArray沒有同樣的要求。 您只需將它想要包含的對象傳遞給它,並且它很樂意這樣做。 不需要終止null :)
希望這可以幫助...
我沒有使用Monotouch - 但是如果你想操縱NSArray,你會想要使用它的堂兄NSMutableArray。
看起來這個靜態方法就是你想要的:
public static NSArray FromNSObjects (params NSObject[] items);
像這樣使用:
NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.