从一个类访问和更改 NSMutableDictionary 的值到另一个 iOS

Posted

技术标签:

【中文标题】从一个类访问和更改 NSMutableDictionary 的值到另一个 iOS【英文标题】:Access and change values of an NSMutableDictionary from one class to another 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];` 替换你的初始化代码 【参考方案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 会给你原始对象而不是副本。

【讨论】:

以上是关于从一个类访问和更改 NSMutableDictionary 的值到另一个 iOS的主要内容,如果未能解决你的问题,请参考以下文章

如何访问和更改在 FLUTTER/DART 的另一个类中声明的字符串变量的值

在 Interface Builder 中访问 NSMutableDictionary 值

如何从另一个类访问 Winform 文本框控件?

C++ - 如何从同一个类的静态函数访问一个类的私有成员?

为啥我不能从不同命名空间中的朋友类更改类的私有成员?

如何更改另一个类的变量?