gpt4 book ai didi

objective-c - 连接 NSMutableDictionary 中的所有值强制转换为 int、NSInteger 和 NSString

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:49:21 26 4
gpt4 key购买 nike

所以我有一对 NSMutableDictionarys 和特定字典的每个键/值对保存一个字符串或整数值。我想知道是否有一种方法可以遍历字典并连接值。在 PHP 中,我可以使用数组做这样的事情

// either the dictionary holds all integers or all string values
$integer_array = array( 'a' => 2, 'b' => 9, 'c' => 2, 'd' => 0, 'e' => 1 );

foreach( $integer_array as $key => $value ) {
$concatenated_value .= $value;
}

// cast to int
$concatenated_value = ( int ) $concatenated_value;

// prints: 29201
echo $concatenated_value;

我也可以使用 implode()还有

$concatenated_value = ( int )(implode("", $integer_array));

// prints: 29201
echo $concatenated_value;

iOS Objective-C 有这样的东西吗?

最佳答案

我不相信它有预定义的功能。对我来说,这似乎不是一件很常见的事情(在 PHP 中很常见吗?)。我想代码理论上应该是这样的:

int finalVal = 0;
for (NSString *key in keyArray)
{
//If it is variable between NSString and NSNumber as you say, you will
//need to do type checking here.
NSNumber *numVal = [dictionary objectForKey:key];
int num = [numVal intValue];

//----Don't need this part if all values are single digits
while(num > 10)
{
finalVal += num;
finalVal *= 10;
num /= 10;
}
//--------------------------------------------------------

finalVal += num;
finalVal *= 10;
}
finalVal /= 10;

但是,这不太可能产生您想要的结果,因为字典没有排序。我认为您需要一个不同的数据结构或一个按照插入顺序保存键的数组(但此时您还不如使用一个数组)。

编辑 因为您使用的是有序的键数组,所以我编辑了上面的答案。

关于objective-c - 连接 NSMutableDictionary 中的所有值强制转换为 int、NSInteger 和 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com