我创建了一个带有图片数据的NSMutableDictionary“_favDictionary”。我从一个集合视图中获取当前单元格中的密钥,该视图包含一个名为“key”的整数。
FLAMainCell *cell = (FLAMainCell *) sender.view;
NSUInteger *key = cell.key;
NSString *inStr = [NSString stringWithFormat:@"%lu", (unsigned long)key];
_favDictionary[inStr] = storeImage;
- (UIImage *)getFavouriteImages:(NSInteger)index{
return _favDictionary[index];
}
我是objective-c的初学者,我找不到像我的方法“getFavouriteImages”那样使用整数值访问我的字典的可能性。我得到的错误说“NSMutableDictionary不响应ObjectAtIndexedSubscript”。
有人可以告诉我如何通过整数访问我的字典吗?
答案 0 :(得分:2)
首先,如果您只使用整数进行索引,则可以使用NSArray
。
如果您想使用NSDictionary
,则不必将整数转换为字符串,而是可以使用NSNumber
。
FLAMainCell *cell = (FLAMainCell *) sender.view;
NSUInteger *key = cell.key;
NSNumber *inNumber = @(key);
_favDictionary[inNumber] = storeImage;
- (UIImage *)getFavouriteImages:(NSInteger)index{
return _favDictionary[@(index)];
}
如果您想使用字符串,则必须在编制索引之前将index
转换为NSString
:
- (UIImage *)getFavouriteImages:(NSInteger)index{
NSString *stringIndex = [NSString stringWithFormat:@"%@", @(index)];
return _favDictionary[stringIndex];
}