2013-06-01 50 views
11

Sınırlandırılmış dizeyi bir Array içine ayırmaya çalıştığımda biraz sorun yaşıyorum. Temel olarak, MECARD QRCode sonucunu geçmek ve addressBook'a yeni giriş eklemek istiyorum. İşte Sınırlandırılmış bir NSString'i NSArray'e bölme

(sadece "Ad" alanı için) benim kodudur: "MECARD: N:

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 de tüm URL (aynı viewController görünür & deşifre ... Ama isim; ORG: şirket; TEL:. 89878978; ... vb)

Ya benim MECARD URL'yi ayırmak için eksik & doğru alanda doğru veri göndermek ... ilk alana (FistName alanı) gider

cevap

25

Umut?

yardımcı olur Benim kod parçacığını okursanız İpucunuza uygun
NSArray *chunks = [string componentsSeparatedByString: @";"]; 
+0

sayesinde BlueConga ancak, şunları görebilirsiniz: "NSArray * n = [componentsSeparatedByString _n: @"; "];" MECARD içinde neden veri ayrılır " ;", tarafından değil ",". Neyse, yerine ";" "," artık çalışmıyor ... – iNico3D

+0

hmm örneğin "n" yi kaçırdınız - bu [_ componentsSeparatedByString: @ ";"]; ve belki de [_n ...? – BlueConga

+0

Doğru: Numune şimdi düzeltildi: "NSArray * n = [_n componentsSeparatedByString: @"; "];". Ama benim bölünmüş problemim hala yaşıyor ... :-( – iNico3D

İlgili konular