访问从另一个ARC iPhone在一个类中创建的NSMutableDictionary

时间:2012-02-27 21:41:55

标签: iphone uitableview automatic-ref-counting nsmutabledictionary

如果用户检查UITableViewCell中的内容,我使用此方法检查NSMutableDictionary * checkDict:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([[checkDict objectForKey:[array objectAtIndex:indexPath.row]] isEqualToString:@"Check"]) {
        [checkDict setObject:@"NOCheck" forKey:[array objectAtIndex:indexPath.row]];
        [table reloadData];
    }
    else 
    {
        [checkDict setObject:@"Check" forKey:[array objectAtIndex:indexPath.row]];
        [table reloadData];
    }
}

在这个课程中我设置了属性:

@property (nonatomic, strong) NSMutableDictionary *checkDict;

我想用下面的视图填充下一个视图,其中“Check”作为checkDict MutableDictionary中设置的对象。如何从下一课程中访问此MutableDict?如果我实例化包含上面代码的前一个类,我将为checkDict获取null。我正在使用ARC和StoryBoard。有没有办法做到这一点:

[[NSUserDefaults standardUserDefaults]setObject:checkDict forKey:@"CheckDict"];

1 个答案:

答案 0 :(得分:0)

有多种方式:

  1. 您可create a common live data manager a singleton class将保留此词典,您可以使用此单例类在任何地方访问该词典。

  2. 在上面的apprach中,您can use App Delegate to store the dictionary(使用setter / getter)并使用[[UIApplication sharedAppliation] delegate]对象访问它。

  3. 创建(alloc / init)视图时,您can pass this dictionary object to the other view对象。但是对于这种方法,我们应该从我们拥有这个字典的同一个类创建视图。

  4. 当您将此词典声明为属性时,您要can create the reference of this class in the view class访问此词典,然后使用类引用访问它。

  5. 谢谢,