【问题标题】:Access and change values of an NSMutableDictionary from one class to another iOS从一个类访问和更改 NSMutableDictionary 的值到另一个 iOS
【发布时间】:2016-07-02 11:51:23
【问题描述】:

我在一个类中处理 NSMutableDictionary,但我想在另一个类中更改它的值。

这是声明它的代码。

@interface MyClass0 : NSObject
{
    @public
    NSMutableDictionary *valuee;
}

@property (nonatomic, copy) NSMutableDictionary *valuee;
@end

在 myClass0 的实现中我会这样做

@synthesize valuee;

我也将值声明为

valuee = @{@"name" : @"Aryan"};

现在我想在另一个类中访问和更改该字典的值。

【问题讨论】:

  • 使用点访问器 - 例如instance.valuee[@"key"] = @"value"。另外,请注意 - 使用字典文字语法 (@{..}) 会生成 NSDictionary,而不是 NSMutableDictionary。用 ` [@{@"name" : @"Aryan"} mutableCopy];` 替换你的初始化代码

标签: ios objective-c cocoa nsmutabledictionary


【解决方案1】:
Use @property (nonatomic, strong) NSMutableDictionary *valuee;

现在赋值为

self.valuee = [[NSMutableDictionary alloc] init];

您可以在MyClass0init 方法中执行此操作。

现在您可以从另一个类中访问该值,例如

MyClass0 *myClassInstance = [[MyClass0 alloc] init];
NSMutableDictionary *dict = myClassInstance.valuee;

【讨论】:

  • 它创建了它的一个新实例,但我想要一个确切的实例:)
【解决方案2】:

你可以手写getter --

- valuee { 
    return valuee;
}

所以代码 instance.valuee 会给你原始对象而不是副本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    相关资源
    最近更新 更多