如何将我的 NSString 分成两个不同的数组,即 Objective-C 中的键和值?

How separate my NSString to two different array i.e key and value in Objective-C?

大家好,我有一个字符串例如

"Name=Mihir&,Age=34&,Allergy=&,Symptoms=Fever,Sore throat&,Tested=No&,State=Rhode Island"

所以我需要将这个字符串转换成 2 个数组键和值,例如一个数组在 = 之前,另一个数组在等于之后。
我已经完成了一些代码,但我不知道下一步该做什么!
请在下面查看我的代码:

strCustomFields = _incident.CustomFields;
NSLog(@"strCustomFields = %@",strCustomFields);
NSArray *items = [strCustomFields componentsSeparatedByString:@"&,"];  

这里我已经分成数组所以现在我有 6 个数组但是现在如何使我的数组像下面那样成为键和值?
array1 = 姓名、年龄、过敏、症状、测试、状态
array2 = Mihir,34,Fever 喉咙痛,No,Rhode Island

好吧,您可以遍历项目,用“=”拆分每个项目并将键和值放在两个不同的 NSMUtableArray

但使用 NSDictionary 保存键值对可能会更好

可能还有其他方法,具体取决于您要执行的操作。

得到我的答案可能是很长的路要走,但它对我有用。

NSArray *items = [strCustomFields componentsSeparatedByString:@"&,"];
NSArray *subArr = nil;
NSMutableArray *arr1 = [[NSMutableArray alloc] init];
for (NSString* currentString in items) {
    subArr = [currentString componentsSeparatedByString:@"="];
    [arr1 addObject:[subArr objectAtIndex:0]];
    [arr1 addObject:[subArr objectAtIndex:1]];
    NSLog(@"subArr = %@", subArr);
}
NSLog(@"arr1 = %@", arr1);  
for (int i = 0; i< [arr1 count]/ 2; i++) {  
            myCustomView.lbltitle.text = [NSString stringWithFormat:@"%@", [arr1 objectAtIndex:(i *2)]];
            myCustomView.lblvalue.text = [NSString stringWithFormat:@"%@", [arr1 objectAtIndex:(i * 2) + 1]];
        }