2013-06-01 32 views
11

當我嘗試將分隔的字符串拆分爲數組時,我遇到了一些問題。基本上,我想通過MECARD QRCode的結果並將新條目添加到地址簿。如何將分隔的NSString拆分爲NSArray

這裏是我的代碼( 「名字」 唯一字段):

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的良好解碼&的viewController出現......但是,所有的網址(如:「MECARD:N:名稱; ORG:公司;電話:89878978; ...等),先進入場(FistName場)...

什麼是缺少分開我MECARD URL &在右場發送正確的數據

回答

25

希望?它有助於

NSArray *chunks = [string componentsSeparatedByString: @";"]; 
+0

感謝您的提示,BlueConga,但是如果您閱讀我的代碼片段,您可以看到:「NSArray * n = [_n componentsSeparatedByString:@」;「];」,在MECARD中導致數據被「 ;「,而不是」,「。無論如何,取代「;」通過「,」不再工作... – iNico3D

+0

嗯在例如,你錯過了「n」 - 它是[_組件分隔符字符串:@「;」];也許應該是[_n ...? – BlueConga

+0

我是對的:我的示例現在已經更正:「NSArray * n = [_n componentsSeparatedByString:@」;「];」。但我的分裂問題仍然存在...... :-( – iNico3D