从一个类访问和更改 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];
您可以在MyClass0
的init
方法中执行此操作。
现在您可以从另一个类中访问该值,例如
MyClass0 *myClassInstance = [[MyClass0 alloc] init];
NSMutableDictionary *dict = myClassInstance.valuee;
【讨论】:
它创建了它的一个新实例,但我想要一个确切的实例:)【参考方案2】:你可以手写getter --
- valuee
return valuee;
所以代码 instance.valuee 会给你原始对象而不是副本。
【讨论】:
以上是关于从一个类访问和更改 NSMutableDictionary 的值到另一个 iOS的主要内容,如果未能解决你的问题,请参考以下文章
如何访问和更改在 FLUTTER/DART 的另一个类中声明的字符串变量的值