2010-08-13 9 views
10

Estoy tratando de leer un archivo de entrada (si existe) y luego quiero agregar una cadena a esa entrada. Mi código se ve de la siguiente manera.cómo agregar un objeto a NSMutableArray

NSMutableArray *listData = [[NSMutableArray alloc] initWithContentsOfFile:*filepath*]; 
// listData = null if the input file does not exist. 
NSString *jobName = [NSString stringWithFormat:@"My New Job"]; 
[listData addObject:jobName]; 

si la entrada existe, entonces después de addObject: NOMBRE DEL TRABAJO, la listData se actualiza pero si el archivo de entrada no existe la listData todavía da nula después de addObject: NOMBRE DEL TRABAJO. Mi archivo de entrada (si existe) se ve algo así como.

<array> 
     <string>My Job 1</string> 
     <string>My Job 2</string> 
     <string>My Job 3</string> 
</array> 

Quiero añadir la cadena de la matriz de cadenas existentes o que desee crear una nueva gama de JobName cadena si no está ya allí. Alguien me puede ayudar. Qué método debería usar para crear una nueva matriz de cadena cuando el archivo de entrada no existe.

Respuesta

21

Uno de algunas posibilidades:

if (!listData) listData = [[NSMutableArray alloc] init]; 
[listData addObject:jobName]; 
4

De the documentation:

- (id)initWithContentsOfFile:(NSString *)aPath

Una matriz inicializada para contener el contenido del archivo especificado por aPath o nil si el archivo puede' Se puede abrir o el contenido del archivo no se puede analizar en una matriz. El objeto devuelto puede ser diferente del receptor original.

Así que si no existe el archivo, tendrá que crear la matriz de forma manual usando:

listData = [[NSMutableArray alloc] init]; 
+0

Muchas gracias a Dave DeLong. Me ayudó. – UCU110

1

Usted puede agregar objeto en NSMutableArray utilizando dos métodos

  1. addObject
  2. insertObject: atIndex

1. utilizando addObject

[myMutableArray addObject:myObject]; 

2.Using inserObject: atIndex

[myMutableArray insertObject:myObject atIndex:index]; 

Nota: Índice de valor debe ser válido (dentro del rango)

Cuestiones relacionadas