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

标签 objective-c c pointers instance-variables

我有一些需要访问实例变量的 C 函数。我已经将一个结构体作为参数传递给该函数,因此我将指向 ivars 的指针添加到该结构体中。

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

最佳答案

只要指针所指向的内容保持有效,该指针就保持有效。如果包含 ivars 的对象被释放,而其他人仍在尝试使用指向其中一个 ivars 的指针,那么它就会崩溃。

也就是说,根据需要获取和设置实际值可能是更好的设计;当然,ivars 并没有那么大,以至于您需要直接指向它们。这样做会破坏所有封装的概念,并需要您做更多容易出错的工作来确保所有对象的生命周期一致。如果您需要更广泛的设计建议,请随时多说或提出其他问题。

关于objective-c - 这安全吗? (指向 Objective C 实例变量的指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5616471/

相关文章:

ios - 将坐标从十进制度数转换为可能的 EPSG 4326

iphone - 自定义 UITableViewCell 删除 subview

c - 通过 OpenGL 进行图形编程,无需 Windows 编程

c - c中奇怪的括号和宏语法

c - 交换指针而不是 memcpy

iphone - UITextView - 如何定义一个单词是一行中的最后一个单词

ios - 如果之前禁用了位置服务,CLLocationManager 不会显示弹出窗口

C 编程 - 我对这些函数做错了什么?

c - 将结构从 main() 传递到辅助函数时出现段错误

c++ - 内存引用发送到双指针