iOS - 从弱引用初始化对象

时间:2017-04-19 08:42:53

标签: ios objective-c object weak-references

我在A组中有一个 Main_Obj 对象,这是一个强大的属性

@property(nonatomic, strong)NSMutableDictionary *Main_Obj;

我正在另一个B类中创建指向此强引用的另一个属性。

@property(nonatomic, weak)NSMutableDictionary *weak_Obj;

weak_obj =  Main_Obj;

在B类中使用弱引用我必须在A类中创建Main_Obj IF Main_Obj为零。

但问题是,我只有一个弱引用weak_obj指向强引用' Main_Obj'目前为零。如何从B类初始化Main_Obj只有弱引用(目前为零)。

1 个答案:

答案 0 :(得分:0)

(假设您的项目中只有A类和B类)

由于 B类具有强引用,因此应该负责创建(和释放)已分配的字典对象。

A类具有弱引用,只应为该弱引用分配有效(或零)值。

你可以在 B类中拥有一个监听器(在这种情况下,它将是A类)。一旦 B类创建了字典对象,就通过创建的实例通知监听器。