
//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默认堆栈创建单例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)