2013-06-01 15 views
11

Ho un piccolo problema quando provo a suddividere la stringa delimitata in una matrice. Fondamentalmente, voglio passare il risultato da MECARD QRCode e aggiungere una nuova voce a addressBook.Come dividere una NSString delimitata in NSArray

Ecco il mio codice (per il campo "Nome" soltanto)::

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 è ben decodificato & appare viewController ... Ma tutto l'URL (come: "MECARD: N: nome; ORG: società; TEL:. 89878978; ... ecc) va in primo campo (campo FistName) ...

Cosa mi manca per separare il mio URL MECARD & inviare i dati giusti nel campo a destra

risposta

25

Hope? aiuta

+0

Grazie per il tuo suggerimento, BlueConga, ma se si legge il mio frammento di codice, è possibile vedere: "NSArray * n = [_n componentsSeparatedByString: @"; "];", causa in MECARD, i dati sono separati da " ; ", non da", ". Ad ogni modo, sostituire ";" con "," non funziona più ... – iNico3D

+0

hmm in esempio hai perso "n" - è [_ componentsSeparatedByString: @ ";"]; e forse dovrebbe essere [_n ...? – BlueConga

+0

hai ragione: il mio campione ora è corretto: "NSArray * n = [_n componentsSeparatedByString: @"; "];". Ma il mio problema di divisione è ancora vivo ... :-( – iNico3D

Problemi correlati