objective-c - 如何防止在运行时在 Objective-C 中访问私有(private)变量?

标签 objective-c ios xcode

我知道我可以使用@private 关键字将我的实例变量声明为私有(private)。我相信它只会在编译时强制执行。

你知道有什么方法可以防止其他用户在运行时访问我的私有(private)变量吗?

我问这个是因为我正在构建一个静态库,它将分发给其他开发人员,我不希望他们访问我的私有(private)变量。

最佳答案

你不能阻止一个有决心的人在运行时弄乱数据(一旦他们知道内存中对象的地址并且它在当前进程可自由写入的分配空间中,总有办法改变它)。你可能做的最好的事情就是混淆它,例如仅显示一个 void*,在其他地方分配内存并进行转换。

关于objective-c - 如何防止在运行时在 Objective-C 中访问私有(private)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773401/

相关文章:

ios - 使用 Objective-C 解析 JSON 字符串响应时出错

ios - 应用程序在 viewWillDisappear() 上随机崩溃

objective-c - 仪器内存警告调试

ios - 可扩展 Tableview Swift 中的多个选择器 View

ios - 在我的设备中安装 iPhone 应用程序

ios - 在 iOS 中嵌套 block

ios - 更改导航栏按钮字体

ios - 如何安装与Xcode默认自带的sdk不同的sdk?

iOS 应用组不再工作

ios - Xcode 无法运行测试