2012-04-15 4 views
1

Ich bin neu in Xcode. Was ich will, ist Plist Daten lokal in meinem Programm zu lesen. Ich habe NSArrayM insertObject:atIndex:]: object cannot be nil Fehler. Hier ist, was ich erklärt habe und meine Plist-Datei. Dankxcode NSArrayM insertObject: atIndex:]: Objekt kann nicht null sein

NSMutableArray *phoneArray; 

NSString *path=[[NSBundle mainBundle] pathForResource:@"PhoneList" ofType:@"plist"]; 

phoneArray= [[NSMutableArray alloc]initWithContentsOfFile:path]; 

Schlüsselart Artikel 0 Wörterbuch Artikel 1 Wörterbuch

Artikel Beschreibung, Name Schlüssel als Typ String haben.

+1

ein youritems in plist zu vermeiden, ist gleich Null ... –

Antwort

2

Überprüfen Sie Ihr Plist, gibt es höchstwahrscheinlich einen schlechten Wert. Elemente in NSArray oder NSDictionary können nicht null sein. Sie können Xcode verwenden, um die PLIST-Datei zu öffnen, um sie zu überprüfen.

Persönlich benutze ich "PlistEdit Pro", kann es etwas bessere Diagnosen liefern, wenn das plist ungültig ist. Es gibt eine Free Trial here von PlistEdit Pro.

+0

Dank Zaph. Programm hilft sehr. – wseries

+0

Eigentlich habe ich falsch plist implementiert. Outer-Tag ist der und innere Tags sind . Danke nochmal. – wseries

0
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index 

Das Objekt, das dem Inhalt des Arrays hinzugefügt werden soll. Dieser Wert darf nicht Null sein.

vor jeder Eingabe von der plist-Datei, überprüfen Sie bitte, dass das Element nicht gleich Null ist, die excetion

+0

Danke WhiteTiger habe ich mit NSLog gemacht (@ "% @", [dic objectForKey: @ "Item 0"]); – wseries

Verwandte Themen