草庐IT

Singleton

全部标签

objective-c - Apple 的 Sample MVCNetworking 中的 Singleton Class NetworkManager 是否正确?

这里是示例代码的链接http://developer.apple.com/library/ios/#samplecode/MVCNetworking/Introduction/Intro.html下面是文件NetworkManager.m中的代码片段+(NetworkManager*)sharedManager//Seecommentinheader.{staticNetworkManager*sNetworkManager;//Thiscanbecalledonanythread,sowesynchronise.Weonlydothisin//thesNetworkManagerca

iOS swift : Calling a singleton method 3 times causes app to crash

我有并排的目标/快速代码。我调用了swift单例方法3次。三次后它崩溃了。我有理由相信这可能是内存问题。这是我的代码ViewController.m-(void)sharedData{//calledthreetimessharedData=[SharedDatasharedData];[sharedDatainitSyncManager];}Swift共享数据类classfuncsharedData()->SharedData{structSingleton{staticletinstance=SharedData()}returnSingleton.instance}funcini

ios 10+、Swift 3+ - 无法从 Singleton 实例中关闭 UIAlertController

我创建了一个叠加层,以便在我对服务器运行异步数据抓取时运行,这样用户就不会在数据抓取完成之前继续按下UI中的按钮。我已将该函数放入一个全局单例类中,并在传入bool值时调用它来说明我是想显示还是隐藏。我可以让它显示,但我无法让它隐藏。这是代码:classDataModel{staticletsharedInstance=DataModel()funcaccessNetworkData(vc:UIViewController,params:[String:Any],wsURLPath:String,completion:@escaping(_response:AnyObject)->()

ios - swift 3 : Property observer for singleton

我想知道是否有任何方法可以观察单例类的任何属性的变化在我的例子中,使用Realm我有这样的东西classUser:Object{dynamicvarname:String=""dynamicvaremail:String=""dynamicvarid:String=""dynamicvarpicURL:String=""dynamicvarpic:Data=Data()staticletcurrentUser=User(){didSet{try!realm.write{realm.add(currentUser,update:true)}}}}我想要实现的是我希望在我的应用程序中只有一

iOS - 无法从 Objective-C 访问 Swift Singleton

我无法从我的Objective-CViewController访问我的SwiftSingleton类。Xcode确实识别了我的Swift类,它构建了,所以我不认为这是一个桥接头问题。这是我的Swift单例类:@objcclassMySingleton:NSObject{staticletshared=MySingleton()privateoverrideinit(){}}然后在我的.m文件中导入此header:#import"myProject-Swift.h"并以这种方式使用单例:MySingleton*testSingleton=[MySingletonshared];或者这样:

swift - Swift Singleton 可以是一个具有纯类函数的类吗

感觉讨论在Swift的几次迭代前就停止了,但我很好奇,在讨论中,从未有人建议(或者如果我从未见过)单例可以只是一个纯粹的类类函数,例如-classMySingleton{privatestaticvarsomeVar:String?privatestaticvarsomeOtherVar:SomeType?classfuncstart(){//etc...}classfuncdoSomething(){//etc...}//etc,etc...}我们有什么不应该这样做的充分理由吗?我想不出。 最佳答案 你想达到什么目的?根据我的经验

ios - 在 Swift 的 Singleton 类中防止实例来自 init() 的最佳实践是什么

我从UsingSwiftwithCocoaandObjective-C中了解到可以像这样创建单例:classSingleton{staticletsharedInstance=Singleton()}但是据我了解,我们还应该阻止从构造函数创建的实例。应该避免在类范围之外创建类Singleton的实例,如下面的语句:letinst=Singleton()那么,我可以这样做吗:classSingleton{staticletsharedInstance=Singleton()privateinit(){}}或者,有什么更好的做法吗? 最佳答案

java - 对 SQLiteDatabase 使用单例设计模式

我是Android的新手,我正在开发一个简单的应用程序来获得一些基本经验。我的应用程序非常简单,其中包括广播接收器和一些Activity。两个组件都使用一个数据库,因此理论上两者都可能同时尝试访问数据库。目前我只是在每次需要时实例化db对象(这是一个SQLitedb帮助器类),并执行所需的操作:查询、插入等。从我在这里和其他一些文档中阅读的内容来看,如果同时访问数据库,则会出现“数据库锁定”异常的问题,因此更好的方法是拥有该数据库的单个实例对象,因此所有组件始终使用相同的数据库连接。以上推理正确吗?那么单例会是一个足够好的解决方案吗?我知道一些纯粹主义者可能会反对它,但请注意,这是一个

java - 对 SQLiteDatabase 使用单例设计模式

我是Android的新手,我正在开发一个简单的应用程序来获得一些基本经验。我的应用程序非常简单,其中包括广播接收器和一些Activity。两个组件都使用一个数据库,因此理论上两者都可能同时尝试访问数据库。目前我只是在每次需要时实例化db对象(这是一个SQLitedb帮助器类),并执行所需的操作:查询、插入等。从我在这里和其他一些文档中阅读的内容来看,如果同时访问数据库,则会出现“数据库锁定”异常的问题,因此更好的方法是拥有该数据库的单个实例对象,因此所有组件始终使用相同的数据库连接。以上推理正确吗?那么单例会是一个足够好的解决方案吗?我知道一些纯粹主义者可能会反对它,但请注意,这是一个

ios - 如何使 Swift Class Singleton 实例线程安全?

我有一个单例类:classDatabase{staticletinstance:Database=Database()privatevardb:Connection?privateinit(){do{db=tryConnection("\(path)/SalesPresenterDatabase.sqlite3")}catch{print(error)}}}现在我使用Database.instance.xxxxxx访问此类以在类中执行功能。但是,当我从另一个线程访问该实例时,它会抛出奇怪的结果,就好像它试图创建另一个实例一样。我应该在同一个线程中引用实例吗?澄清奇怪的结果显示数据库I/