Domanda

Come inserire elementi in oggetto NSArray in C # (MonoTouch)? Non trovo metodo appropriato per farlo? Nel lato Objective-C, v'è un costruttore chiamata "initWithObjects", ma non trovo questo su C # lato.

pom

È stato utile?

Soluzione

Mi dispiace per rispondere alla tua domanda con una domanda, ma sei sicuro che si desidera creare un NSArray?

Lo chiedo perché MonoTouch fa un certo lavoro dietro le quinte, in modo che non si ha a che fare con NSArray.

Se si va a pagina Design API MonoTouch e fare una ricerca in-page per "NSArray" , troverete questo:

  

Invece di trattare con NSString e NSArray il runtime espone invece questi come C # stringhe e array fortemente tipizzati in tutto l'API.

In altre parole, se non avete un motivo specifico per, non dovete fare confusione con NSArray.

Ma, se si do avere un motivo, o se è la vostra preferenza, allora la risposta di Jason è corretta:

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

L'unica cosa che vorrei aggiungere è che, se sei un dev Objective-C e dando MonoTouch una prova, si è abituati a questo:

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

La differenza è la "nullo" alla fine della versione Objective-C. NSArray di MonoTouch non ha questo requisito stesso. Basta passarlo gli oggetti che si desidera di contenere, e lo fa in modo felicemente. No terminazione nullo richiesto:)

Spero che questo aiuti ...

Altri suggerimenti

Non sto usando MonoTouch - ma se stai cercando di manipolare un NSArray, si sta andando a voler utilizzare è cugino, NSMutableArray.

Sembra che questo metodo statico è ciò che si vuole:

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

Utilizzato in questo modo:

NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top