2013-06-01 14 views
11

Ich habe ein kleines Problem, wenn ich versuche, begrenzte Zeichenfolge in ein Array zu trennen. Grundsätzlich möchte ich das Ergebnis von MECARD QRCode übergeben und einen neuen Eintrag zu addressBook hinzufügen.Wie man einen begrenzten NSString in NSArray aufteilt

ist hier mein Code (für "Vorname" Feld nur):

NSLog(@"found CB"); 
NSLog(@"_code.text = %@", code.content); 
ABAddressBookRef addressBook = ABAddressBookCreate(); 
ABRecordRef person = ABPersonCreate(); 

NSString *_n = [NSString stringWithFormat:@"_code.text = %@", code.content]; 
NSArray *n = [_n componentsSeparatedByString:@";"]; 
NSLog(@"_code.text = %@",n); 

ABRecordSetValue(person, kABPersonFirstNameProperty, _name, nil); 

ABAddressBookAddRecord(addressBook, person, nil); 
CFRelease(addressBook); 

ABNewPersonViewController *c = [[ABNewPersonViewController alloc] init]; 
[c setNewPersonViewDelegate:self]; 
[c setDisplayedPerson:person]; 
CFRelease(person); 
[self.navigationController pushViewController:c animated:YES]; 
[c release]; 

meCard QRCode ist gut & Viewcontroller decodiert erscheint ... Aber alle die URL (wie: „meCard: N: Name; ORG: Unternehmen, Tel.: 89878978, ... usw.) geht in erstem Feld (FistName Feld) ...

Was ist meine meCard URL zu trennen & richtige Daten im rechten Feld schicken

Antwort

25

Hoffnung? es hilft

+0

Danke für Ihren Tipp, BlueConga, aber wenn Sie mein Code-Snippet lesen, können Sie sehen: "NSArray * n = [_n componentsSeparatedByString: @"; "];", da in MECARD Daten durch " ; "nicht durch", ". Wie auch immer, ersetzen ";" by "," funktioniert nicht mehr ... – iNico3D

+0

hmm im Beispiel hast du "n" verpasst - es ist [_ componentsSeparatedByString: @ ";"]; und vielleicht sollte [_n ...? – BlueConga

+0

Sie haben Recht: meine Probe ist jetzt korrigiert: "NSArray * n = [_n componentsSeparatedByString: @"; "];". Aber mein Split-Problem ist noch am Leben ... :-( – iNico3D