如何访问id的对象

时间:2015-09-21 10:20:15

标签: objective-c

Hiho code-friends,

我创建了一个带有图片数据的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”。

有人可以告诉我如何通过整数访问我的字典吗?

1 个答案:

答案 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];
}