【问题标题】:iOS: How can I grab each string from this for loop and add it into an NSMutableArray?iOS:如何从这个 for 循环中获取每个字符串并将其添加到 NSMutableArray 中?
【发布时间】:2014-03-30 01:21:20
【问题描述】:

我有这个 for 循环,它在完成后给了我两个 strings。但是我需要将这两个strings 添加到array 中。第一个stringone,第二个stringtwo。所以最后,我的NSMutableArray 需要同时包含onetwo

如何正确执行此操作?

for (NSDictionary* dict in dictArray) {
    NSString *string = ([dict valueForKey:@"string"] == [NSNull null]) ? @"" : [NSString stringWithFormat:@"%@", [dict valueForKey:@"string"]];  
}

【问题讨论】:

  • 你的阵列在哪里?您是如何尝试添加它们的?

标签: ios objective-c dictionary nsmutablearray nsarray


【解决方案1】:

我还建议您简化代码

NSMutableArray *results = [NSMutableArray array];
for (NSDictionary* dict in dictArray) {
    id value = dict[@"string"];
    [results addObject: value == [NSNull null] ? @"" : value];
}

【讨论】:

  • 假设键 string 的值将是一个 NSString 实例
  • 我的代码独立于dict[@"string"] 类型。我不知道作者真正需要在数组中保存什么 - value[value description]
  • 是的,+1 是为了增加代码的清晰度。只是应该指出功能差异(以及为什么在字符串实例上使用stringWithFormat: 毫无意义。
【解决方案2】:

首先,您需要一个数组来将字符串添加到:

NSMutableArray *resultsArray = [NSMutableArray array];

然后你需要在循环中添加字符串:

[resultArray addObject:string];

【讨论】:

    猜你喜欢
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 2011-01-27
    相关资源
    最近更新 更多