Прежде всего, если вам нужно изменить содержимое словаря, он должен быть изменяемым:
@interface MyClass : NSObject
{
NSMutableDictionary *dictobj;
}
@end
Обычно вы создаете переменные экземпляра, такие как dictobj, в указанном инициализаторе, например:
- (id) init
{
[super init];
dictobj = [[NSMutableDictionary alloc] init];
return self;
}
и освободить память в -dealloc:
- (void) dealloc
{
[dictobj release];
[super dealloc];
}
Вы можете получить доступ к переменным вашего экземпляра в любом месте вашей реализации экземпляра (в отличие от методов класса):
-(void) methodA
{
// don't declare dictobj here, otherwise it will shadow your ivar
[dictobj setObject: @"Some value" forKey: @"Some key"];
}
-(void) methodB
{
// this will print "Some value" to the console if methodA has been performed
NSLog(@"%@", [dictobj objectForKey: @"Some key"]);
}