我使用以下代码将字符串分成多个字符串并收到错误
[
'class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function($data) {
return ['value' => $data->user_id];
},
],
错误:
- [__ NSDictionaryM componentsSeparatedByString:]:无法识别的选择器发送到实例0x1758f230 - [__ NSDictionaryM componentsSeparatedByString:]:无法识别的选择器发送到实例0x1758f230
这是我的样本数据
textSub = function(str) {
return str.replace(/[;0-9#]*/g, '');
};
我的代码有什么问题
答案 0 :(得分:4)
你有一系列字典,而不是字符串。没有什么可以拆分的。
你想要这样的东西:
NSDictionary *dict = data[0];
NSString *name = dict[@"name"];
NSString *address = dict[@"address"];
答案 1 :(得分:1)
听起来randomStr变量是一个MutableDictionary。这就是为什么它不起作用。
这是我的测试:
NSString *foo = @"BAR;FOO;VAR";
NSArray *arr = [foo componentsSeparatedByString:@";"];
NSLog(@"%@", arr);
Thise Logs:
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
答案 2 :(得分:1)
您必须确保randomStr为NSString。 您可以查看
if ([randomStr isKindOfClass:[NSString Class]]) {
NSArray *arr = [randomStr componentsSeparatedByString:@";"];
}