【问题标题】:How to split a delimited NSString into NSArray如何将分隔的 NSString 拆分为 NSArray
【发布时间】:2013-06-01 15:11:02
【问题描述】:

当我尝试将分隔字符串拆分为数组时,我遇到了一个小问题。基本上,我想从 MECARD QRCode 传递结果并将新条目添加到地址簿。

这是我的代码(仅适用于“名字”字段)::

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 出现了...但是所有的 URL(如:“MECARD:N:name;ORG:company;TEL:89878978;...等)都进入第一个字段(FistName 字段) ...

分离我的 MECARD URL 并在正确的字段中发送正确的数据缺少什么?

【问题讨论】:

    标签: ios nsstring nsarray addressbook


    【解决方案1】:

    希望对你有帮助

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

    【讨论】:

    • 感谢您的提示,BlueConga,但如果您阅读我的代码 sn-p,您会看到:“NSArray *n = [_n componentsSeparatedByString:@”;“];”,原因在 MECARD,数据由“;”分隔,而不是由“,”分隔。无论如何,替换“;”通过“,”不再起作用......
    • hmm 在示例中您错过了“n” - 它是 [_ componentsSeparatedByString:@";"];也许应该是 [_n ... ?
    • 你说得对:我的示例现在已更正:“NSArray *n = [_n componentsSeparatedByString:@”;“];”。但我的分裂问题仍然存在...... :-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2012-01-02
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2011-04-18
    相关资源
    最近更新 更多