ios – 在Swift中为我的Core Data默认堆栈创建单例

ios – 在Swift中为我的Core Data默认堆栈创建单例,第1张

概述我正在尝试使用单例进行核心数据.以前,我已经成功地通过创建一个类CoreDataStack.h / .m,调用下面的默认堆栈方法,以及它在Objective-C中的相应托管对象上下文,并且运行良好: //RETURNS CoreDataStack+ (instancetype)defaultStack { static CoreDataStack *defaultStack; s 我正在尝试使用单例进行核心数据.以前,我已经成功地通过创建一个类CoreDataStack.h / .m,调用下面的默认堆栈方法,以及它在Objective-C中的相应托管对象上下文,并且运行良好:

//RETURNS CoreDataStack+ (instancetype)defaultStack {    static CoreDataStack *defaultStack;    static dispatch_once_t oncetoken;    dispatch_once(&oncetoken,^{        defaultStack = [[self alloc]init];    });    return defaultStack;}

但是,我正在使用Swift项目,我一直在努力将其转换为最新的Swift语法.我该怎么做呢?这是我到目前为止的尝试:

class func defaultStack() -> Self {    var defaultStack: CoreDataStack    var oncetoken: dispatch_once_t = 0    dispatch_once(&oncetoken) {       defaultStack = self.init()    }    return defaultStack}

和我的Xcode生成错误:

解决方法 要创建单例,请使用 Krakendev’s单行单例代码:

class CoreDataStack {    // Here you declare all your propertIEs    static let sharedInstance = User()    private init() {        // If you have something to do at the initialization stage        // you can add it here. It will only be called once. Guaranteed.    }    // Add the rest of your methods here}

您将把您的方法和属性称为CoreDataStack.sharedInstance().property和CoreDataStack.sharedInstance().method().我建议使用更短的而不是sharedInstance,比如服务.

此解决方案通常适用于您的Core Data案例.

总结

以上是内存溢出为你收集整理的ios – 在Swift中为我的Core Data默认堆栈创建单例全部内容,希望文章能够帮你解决ios – 在Swift中为我的Core Data默认堆栈创建单例所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1209421.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存