文件名称:objc-singleton:如何实现安全的 Objective-C 单例
文件大小:17KB
文件格式:ZIP
更新时间:2024-07-11 19:58:18
Objective-C
Objective C Singleton :backhand_index_pointing_right: 实现安全的Objective C Singleton。 :beer_mug: 关于安全 “安全”是指: 多线程安全 使用安全,即通过new类方法、init方法仍然返回的是同一个单例对象。new/init方法不做处理用户是可以调用的。 第二点在场景上看起来有些吹毛求疵,用户可以粘贴示例代码或是看一下文档可以做到通过工厂方法获得单例,规避这个问题。 在各篇Objective C Singleton文章中这方面几乎都没有得到重视,但对于API的用户上是有意义的。 关于: 只有几人两三应用使用的API,不要谈API设计重要或复杂。 这种情况下,积极感受问题跟进改进API看起来更有性价比。 没写给成百上千人上百应用使用的API,不要谈API设计不重要或复杂。 这种情况下,一个细微的改进能省下支持工作,并值得提高用户的体验和用户对产品的评价。 解决线程安全 有以下方案:
【文件预览】:
objc-singleton-master
----.gitignore(1KB)
----ObjcSingleton()
--------main.m(252B)
--------ObjcSingleton.1(3KB)
--------NonArcSingleton.m(1KB)
--------NonArcSingleton.h(200B)
--------Supporting Files()
--------NonArcSingletonUsingGcd.m(1KB)
--------ArcSingleton.h(449B)
--------ArcSingleton.m(601B)
--------SynthesizeSingleton.h(6KB)
--------NonArcSingletonUsingGcd.h(266B)
----run-test.sh(109B)
----ObjcSingleton.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(17KB)
----ObjcSingletonTests()
--------SingletonSafetyTests.m(4KB)
--------Supporting Files()
----README.md(6KB)
----build-test.sh(109B)