我有一些需要访问实例变量的 C 函数。我已经将一个结构体作为参数传递给该函数,因此我将指向 ivars 的指针添加到该结构体中。
依赖指针在应用程序的整个生命周期中保持有效是否安全(假设我明智地保留和释放?)
最佳答案
只要指针所指向的内容保持有效,该指针就保持有效。如果包含 ivars 的对象被释放,而其他人仍在尝试使用指向其中一个 ivars 的指针,那么它就会崩溃。
也就是说,根据需要获取和设置实际值可能是更好的设计;当然,ivars 并没有那么大,以至于您需要直接指向它们。这样做会破坏所有封装的概念,并需要您做更多容易出错的工作来确保所有对象的生命周期一致。如果您需要更广泛的设计建议,请随时多说或提出其他问题。
关于objective-c - 这安全吗? (指向 Objective C 实例变量的指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5616471/