gpt4 book ai didi

xcode - 尚不支持类变量

转载 作者:IT王子 更新时间:2023-10-29 04:56:41 25 4
gpt4 key购买 nike

我开始我的项目时使用一个 Split View Controller 作为初始 View Controller ,并从 Storyboard自动启动它。

通常,具有此 UI 的应用程序将一个且只有一个 Split View Controller 作为根,因此我在子类中创建了一个静态变量,并在初始化时设置它完成。

所以我想用 swift 尝试这种行为。

我在 iBook 上阅读了关于 Type 属性(带有 static 和 class 关键字)的 Swift 编程语言指南,并尝试了一段代码来完成这项工作:

import UIKit

class SplitViewController: UISplitViewController {

class func sharedInstance() -> SplitViewController {
return SplitViewController.instance
}

class let instance: SplitViewController = nil

init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
self.initialization()
}

init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder);
self.initialization()
}

func initialization() {
SplitViewController.instance = self;
}
}

但是当 Xcode 说还不支持类型属性的 class 关键字时,我想通了。

error detail in image

您有解决方案吗?

最佳答案

作为变通方法,嵌入结构可以很好地工作:

class SomeClass
{
// class var classVariable: Int = 0
// "Class variables not yet supported." Weird.

// Workaround:
private struct SubStruct { static var staticVariable: Int = 0 }

class var workaroundClassVariable: Int
{
get { return SubStruct.staticVariable }
set { SubStruct.staticVariable = newValue }
}
}

然后可以将 SomeClass.workaroundClassVariable 计算类型属性用作存储类型属性。

关于xcode - 尚不支持类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com