gpt4 book ai didi

ios - 如何传递 NSMutableDictionary 作为引用?

转载 作者:行者123 更新时间:2023-11-29 05:43:16 27 4
gpt4 key购买 nike

我在我的一个类中进行了以下设置,其中我将 NSMutableDictionary 作为参数传递给初始化器,然后将其分配给变量 controls

我相信行为是将 NSMutableDictonary 的项目复制到 controls 中,但我需要将其作为引用传递,以便所做的更改反射(reflect)在将字典传递给 MenuViewCell 的类。这总是让我感到困惑,我如何传递 NSMutableDictionary 作为引用?

MenuViewCell.h

@interface MenuViewCell : UITableViewCell
{
NSMutableDictionary *_controls;
}
@property(nonatomic, copy) NSMutableDictionary *controls;

MenuViewCell.m

@synthesize controls = _controls;

- (id)initWithControls:(NSMutableDictionary *)controls
{
self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
if (self)
{
self.controls = controls;
}
return self;
}

- (void) setControls:(NSMutableDictionary *)controls
{
if (_controls != controls)
{
_controls = [controls mutableCopy];
}
}

最佳答案

您的问题是在属性上使用 copy 以及在 setter 中使用 mutableCopy 。使属性

您也不需要@synthesize或显式实例变量。

MenuViewCell.h

@interface MenuViewCell : UITableViewCell

@property(nonatomic, strong) NSMutableDictionary *controls;

MenuViewCell.m

- (id)initWithControls:(NSMutableDictionary *)controls 
{
self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
if (self)
{
_controls = controls;
}
return self;
}

无需重写 setter 。

关于ios - 如何传递 NSMutableDictionary 作为引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56372100/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com