ios – 在Objective-C中使用太多静态变量是一种不好的做法吗?

ios – 在Objective-C中使用太多静态变量是一种不好的做法吗?,第1张

概述使用静态变量会使它们面临从任何地方可修改的危险吗?(在Objective-C的上下文中).如果是,有人可以建议在所有类中使用共享变量的最佳替代方案吗? Is using too many static variables in Objective-C a bad practice? 是.当然,“太多”尚未量化并且是主观的.实际上,全局/静态变量很少是一件好事 – 介绍非常方便,很难调试和消除.同样 使用静态变量会使它们面临从任何地方可修改的危险吗?(在Objective-C的上下文中).如果是,有人可以建议在所有类中使用共享变量的最佳替代方案吗?解决方法

Is using too many static variables in Objective-C a bad practice?

是.当然,“太多”尚未量化并且是主观的.实际上,全局/静态变量很少是一件好事 – 介绍非常方便,很难调试和消除.同样罕见的是它们是好的设计.没有他们,我发现生活会轻松得多.

Will usage of static variables expose them to a danger of being modifiable from anywhere? (In context of Objective-C).

这取决于它们的声明位置以及它们的使用方式.如果您要将参考传递给程序的另一部分,那么它们可以从“任何地方”进行修改.

例子:

如果你放置它们只有一个文件可以“看到”变量(例如,在所有包含的.m文件中),那么只有后续的实现可以使用它(除非你传递对外界的引用).

如果在函数内部声明变量,则在每个转换中共享它并为C / ObjC中的每个转换复制(但是C / ObjC中的规则非常不同).

If yes,can someone suggest best alternatives for using shared variables across all classes?

完全避免使用全局变量.创建一个或多个类型/对象来保存此数据,然后将其实例传递给您的实现.

单身人士是中间立场,因为你有某种类型的全局变量/基于对象的抽象.单身人士仍然非常麻烦 – 他们被归类为全局变量并在我的代码库中被禁止.

总结

以上是内存溢出为你收集整理的ios – 在Objective-C中使用太多静态变量是一种不好做法吗?全部内容,希望文章能够帮你解决ios – 在Objective-C中使用太多静态变量是一种不好的做法吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存