我知道我可以使用@private 关键字将我的实例变量声明为私有(private)。我相信它只会在编译时强制执行。
你知道有什么方法可以防止其他用户在运行时访问我的私有(private)变量吗?
我问这个是因为我正在构建一个静态库,它将分发给其他开发人员,我不希望他们访问我的私有(private)变量。
最佳答案
你不能阻止一个有决心的人在运行时弄乱数据(一旦他们知道内存中对象的地址并且它在当前进程可自由写入的分配空间中,总有办法改变它)。你可能做的最好的事情就是混淆它,例如仅显示一个 void*
,在其他地方分配内存并进行转换。
关于objective-c - 如何防止在运行时在 Objective-C 中访问私有(private)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773401/