我正在使用包含的方法返回指向 NSMutableDictionary 的指针,该指针包含在 NSArray 中。然而,NSMutableArray (theOne) 被创建为一个不可变的 NSDictionary。这是一个问题,因为我想在使用此方法检索字典后对其进行修改。
- (NSMutableDictionary*)getMatFromBoutKey:(NSString*) boutKey
{
/*
* Returns the mat object with the provided boutKey.
* Returns nil if no mat has that boutKey.
*/
NSUInteger idx = [[event objectForKey:@"mats"] indexOfObjectPassingTest:
^ BOOL (NSMutableDictionary* obj, NSUInteger idx, BOOL *stop)
{
return [[obj objectForKey:@"boutKey"] isEqualToString:boutKey];
}];
if (idx == NSNotFound)
return nil;
else {
NSMutableDictionary* theOne = [[event objectForKey:@"mats"] objectAtIndex: idx];
return theOne;
}
}
这是第一次引用 theOne 后调试器在断点处停止的图像。
为什么 theOne 不可变?如何返回指向 NSMutableDictionary 的指针,以便在获得返回给我的值后对其进行修改?
谢谢!