这安全吗?(指向Objective C实例变量的指针)



我有一些需要访问实例变量的C函数。我已经传入了一个结构体作为函数的参数,所以我在结构体中添加了指向变量的指针。

依赖指针在整个应用生命周期中保持有效是否安全(假设我明智地保留和释放?)

只要指针指向的对象有效,该指针就有效。如果包含ivars的对象被释放了,而其他人仍然试图使用指向其中一个ivars的指针,那么是的,它会爆炸。

也就是说,根据需要获取和设置实际值可能是更好的设计;当然变量还没有大到需要直接指向它们。这样做打破了所有的封装概念,并要求您做更多容易出错的工作,以确保所有对象的生命周期一致。如果您需要更广泛的设计建议,请随意说更多或问另一个问题。

最新更新