5

C#(Monotouch)でNSArrayオブジェクトに項目を挿入するには? そうするための適切な方法が見つかりませんか?Objective-C 側には「initWithObjects」というコンストラクタがありますが、C# 側ではこれが見つかりません。

ポンポン

4

3 に答える 3

5

質問で質問に答えて申し訳ありませんが、NSArrayを作成してもよろしいですか?

モノタッチは舞台裏でいくつかの作業を行うので、NSArrayを扱う必要がないのでお願いします。

MonoTouch APIデザインページに移動し、「NSArray」のページ内検索を実行すると、次のことがわかります。

NSStringとNSArrayを処理する代わりに、ランタイムはこれらをC#文字列とAPI全体で厳密に型指定された配列として公開します。

つまり、特別な理由がない限り、NSArrayをいじる必要はありません。

しかし、理由がある場合、またはそれがあなたの好みである場合、ジェイソンの答えは正しいです:

NSArray someArray = NSArray.FromNSObjects(thingOne, thingTwo, thingThree);

私が追加する唯一のことは、Objective-C開発者であり、MonoTouchを試してみると、これに慣れているということです。

NSArray *someArray = [NSArray arrayWithObjects:obj1, obj2, obj3, nil];

違いは、Objective-Cバージョンの最後の「nil」です。MonoTouchのNSArrayにはこれと同じ要件はありません。含めるオブジェクトを渡すだけで、喜んでそうします。nullを終了する必要はありません:)

お役に立てれば...

于 2009-12-12T04:08:15.950 に答える
2

私は Monotouch を使用していませんが、NSArray を操作する場合は、そのいとこである NSMutableArray を使用することをお勧めします。

于 2009-12-07T00:34:47.977 に答える
1

この静的メソッドが必要なようです:

public static NSArray FromNSObjects (params NSObject[] items);

次のように使用します。

NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
于 2009-12-06T22:20:25.203 に答える