用分号分隔字符串
Separate a String By Semicolon
我正在使用以下代码将一个字符串分成多个字符串并出现错误
NSArray *arr = [randomStr componentsSeparatedByString:@";"];
错误:
-[__NSDictionaryM componentsSeparatedByString:]: unrecognized selector sent to instance 0x1758f230
-[__NSDictionaryM componentsSeparatedByString:]: unrecognized selector sent to instance 0x1758f230
这是我的示例数据
NSArray *data = {
{
name = "name1";
address = "RWP";
ID = 0;
},
{
name = "name2";
address = "RWP";
ID = 1;
},
{
name = "name3";
address = "RWP";
ID = 2;
},}
NSString *randomStr = data[0];
我的代码有什么问题
听起来 randomStr 变量是一个 MutableDictionary。这就是为什么它不起作用。
这是我的测试:
NSString *foo = @"BAR;FOO;VAR";
NSArray *arr = [foo componentsSeparatedByString:@";"];
NSLog(@"%@", arr);
这个日志:
BAR,
FOO,
VAR
编辑:
字典到数组:
NSMutableDictionary *dict = @{@"aKey1" :@"BAR",
@"aKey2" :@"FOO",
@"aKey3" :@"VAR"}.mutableCopy;
NSMutableArray *array = [[NSMutableArray alloc] init];
for (NSString *key in dict) {
[array addObject:dict[key]];
}
NSLog(@"%@",array);
此日志:
BAR,
FOO,
VAR
你必须确保 randomStr 是一个 NSString。
你可以检查
if ([randomStr isKindOfClass:[NSString Class]]) {
NSArray *arr = [randomStr componentsSeparatedByString:@";"];
}
你有一个字典数组,而不是字符串。没有什么可拆分的。
你想要这样的东西:
NSDictionary *dict = data[0];
NSString *name = dict[@"name"];
NSString *address = dict[@"address"];
我正在使用以下代码将一个字符串分成多个字符串并出现错误
NSArray *arr = [randomStr componentsSeparatedByString:@";"];
错误:
-[__NSDictionaryM componentsSeparatedByString:]: unrecognized selector sent to instance 0x1758f230 -[__NSDictionaryM componentsSeparatedByString:]: unrecognized selector sent to instance 0x1758f230
这是我的示例数据
NSArray *data = {
{
name = "name1";
address = "RWP";
ID = 0;
},
{
name = "name2";
address = "RWP";
ID = 1;
},
{
name = "name3";
address = "RWP";
ID = 2;
},}
NSString *randomStr = data[0];
我的代码有什么问题
听起来 randomStr 变量是一个 MutableDictionary。这就是为什么它不起作用。
这是我的测试:
NSString *foo = @"BAR;FOO;VAR";
NSArray *arr = [foo componentsSeparatedByString:@";"];
NSLog(@"%@", arr);
这个日志:
BAR,
FOO,
VAR
编辑: 字典到数组:
NSMutableDictionary *dict = @{@"aKey1" :@"BAR",
@"aKey2" :@"FOO",
@"aKey3" :@"VAR"}.mutableCopy;
NSMutableArray *array = [[NSMutableArray alloc] init];
for (NSString *key in dict) {
[array addObject:dict[key]];
}
NSLog(@"%@",array);
此日志:
BAR,
FOO,
VAR
你必须确保 randomStr 是一个 NSString。 你可以检查
if ([randomStr isKindOfClass:[NSString Class]]) {
NSArray *arr = [randomStr componentsSeparatedByString:@";"];
}
你有一个字典数组,而不是字符串。没有什么可拆分的。
你想要这样的东西:
NSDictionary *dict = data[0];
NSString *name = dict[@"name"];
NSString *address = dict[@"address"];