gpt4 book ai didi

ios - 如何在 NSDictionary 中存储和检索 NSArray 作为值并作为键 float ?

转载 作者:行者123 更新时间:2023-11-28 19:37:11 24 4
gpt4 key购买 nike

我代码中的 NSDictionary 包含 NSArrays 及其各自的键(键是浮点变量)。当我尝试使用它们各自的键检索 NSArray 时,我得到了空值。我尝试同时使用 ObjectForKey 和 valueForKey 方法,但结果为空。'DictOfCoordinatesWrtDist' 是一个 NSDictionary,它包含二维坐标 (NSArray) 作为值和距离 (NSNumber floatValue) 作为它们各自的键。我想稍后在代码中使用它们的键检索这些坐标。使用 objectForKey 和 valueForKey 方法时,坐标为空。

NSArray *AllDistsWrtBeacons = [DictOfCoordinatesWrtDist allKeys];
for( id dist in AllDistsWrtBeacons)
{ NSArray *beaconCoordinate = [DictOfCoordinatesWrtDist objectForKey:dist];


NSLog(@"X=%@ Y=%@", [beaconCoordinate objectAtIndex:0],[beaconCoordinate objectAtIndex:1]);}

P.S:NSDictionary 'DictOfCoordinatesWrtDist' 包含相对于它们的距离(键)的信标坐标(值)。执行此代码后,我得到空值作为坐标。

最佳答案

不能直接使用 float 或整数,由于 NSDictionarys 仅设计用于处理对象,因此一种简单的方法是将整数和 float 包装在 NSNumber 对象中。

例如,

NSArray *arr1 = [[NSArray alloc]initWithObjects:@"one",@"two", nil];
NSArray *arr2 = [[NSArray alloc]initWithObjects:@"red",@"green", nil];

NSNumber *key1 = [NSNumber numberWithFloat:1.1];
NSNumber *key2 = [NSNumber numberWithFloat:2.1];

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:arr1,key1,arr2,key2, nil];

NSLog(@"%@",[dict objectForKey:key1]);

NSLog(@"%@",[dict objectForKey:key2]);

关于ios - 如何在 NSDictionary 中存储和检索 NSArray 作为值并作为键 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37608903/

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