簡體   English   中英

使用帶有Monotouch的NSArray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM