Pregunta

¿Cómo insertar elementos en NSArray objeto en C # (MonoTouch)? No encuentro método apropiado para hacerlo? En el lado de Objective-C, hay un constructor llamado "initWithObjects" pero no encuentro esto en C # lado.

pom

¿Fue útil?

Solución

Lo sentimos para responder a su pregunta con otra pregunta, pero ¿está seguro de que desea crear un NSArray?

Lo pregunto porque MonoTouch hace un trabajo detrás de las escenas de manera que usted no tiene que lidiar con NSArray.

Si usted va a la página MonoTouch Diseño API y hacer una búsqueda en la página de "NSArray" , se encuentra esta:

  

En lugar de tratar con NSString y NSArray el tiempo de ejecución en lugar expone éstos como cadenas de C # y matrices inflexible de tipos a lo largo de la API.

En otras palabras, a menos que tenga una razón específica para, usted no tiene que meterse con NSArray.

Pero, si lo tener una razón, o si es su preferencia, a continuación, la respuesta de Jason es correcta:

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

La única cosa que me gustaría añadir es que, si usted es un dev Objective-C y dando MonoTouch una oportunidad, que está acostumbrado a esto:

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

La diferencia es la "nula" al final de la versión Objetivo-C. NSArray de MonoTouch no tiene este mismo requisito. Usted sólo tiene que pasar que los objetos que desea que contiene, y felizmente lo hace. No se requiere de terminación nula:)

Espero que esto ayude ...

Otros consejos

No estoy usando MonoTouch - pero si usted está mirando para manipular un NSArray, usted va a querer utilizar su primo, NSMutableArray.

Parece que este método estático es lo que quiere:

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

Se utiliza como esto:

NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top