如何获取我在NSMutableDictionary中设置的对象并创建触摸界面?

时间:2013-06-28 08:10:43

标签: objective-c nsdictionary

我正在尝试使用NSMutableDictionary制作具有触控功能的网格。我在视图控制器的viewDidLoad函数中使用它创建了一个坐标网格(_coordinateRecords是我的字典):

[self _loopOnCellWithIterator: (^(int iLooper, int jLooper)
{
    int cellWidth = 10;
    int space = 1;

    [_coordinateRecords setObject: [NSIndexPath indexPathForRow: iLooper inSection: jLooper] forKey: [NSValue valueWithPointer: redCell]];

    redCell = [[[UIView alloc] initWithFrame: CGRectMake(iLooper * (cellWidth + space) + 24.25,
                                                         jLooper * (cellWidth + space) + 110,
                                                         cellWidth, cellWidth)] init];
    _cells[iLooper][jLooper] = redCell;

    [redCell setBackgroundColor: [UIColor blueColor]];

    [[self view] addSubview: redCell];
})];

使用此块:

- (void)_loopOnCellWithIterator: (void(^)(int iLooper, int jLooper))iterator
{
    for (int iLooper = 0; iLooper < kCellSize; iLooper++)
    {
        for (int jLooper = 0; jLooper < kCellSize; jLooper++)
        {
            iterator(iLooper, jLooper);
        }
    }
}

所以,我想知道如何调用我设置的字典中的对象。

1 个答案:

答案 0 :(得分:0)

我不确定你在问什么,但有两件事可能会有所帮助:

  • 您可以使用键访问字典中的值。方法-objectForKey:接受一个键并返回关联的对象。你应该知道键是什么,但也有一个方法提供一个包含所有键的数组。

  • 如果你很难从网格坐标映射到字典键,那么你可能正在使用错误的数据结构。数组可能更合适,因为它很容易从坐标转换为索引。