Pergunta

Como inserir itens em NSArray objeto em C # (Monotouch)? Eu não encontrar o método apropriado fazê-lo? No lado Objective-C, há um construtor chamado "initWithObjects" mas eu não encontrar isso no lado C #.

pom

Foi útil?

Solução

Infelizmente para responder a sua pergunta com uma pergunta, mas você tem certeza que deseja criar um NSArray?

Eu pergunto porque MonoTouch faz alguns trabalhos nos bastidores para que você não tem que lidar com NSArray.

Se você vai para página MonoTouch projeto API e fazer uma pesquisa in-page para "NSArray" , você vai encontrar isso:

Em vez de lidar com NSString e NSArray o tempo de execução em vez expõe estes como C cordas # e matrizes de rigidez em todo o API.

Em outras palavras, a menos que você tenha um motivo específico para, você não tem que mexer com NSArray.

Mas, se você do tem uma razão, ou se é a sua preferência, em seguida, a resposta de Jason está correto:

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

A única coisa que eu gostaria de acrescentar é que, se você é um dev Objective-C e dando MonoTouch uma tentativa, você está acostumado a isso:

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

A diferença é o "nulo" no final da versão Objective-C. não NSArray do MonoTouch não tem esta mesma exigência. Você acabou de passar os objetos que deseja que ele contém, e felizmente faz isso. Não nulo de terminação exigidos:)

Espero que isso ajude ...

Outras dicas

Eu não estou usando Monotouch - mas se você estiver olhando para manipular um NSArray, você vai querer usá-lo do primo, NSMutableArray.

Parece que este método estático é o que você quer:

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

Usado como este:

NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top