作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我开始我的项目时使用一个 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 关键字时,我想通了。
您有解决方案吗?
最佳答案
作为变通方法,嵌入结构可以很好地工作:
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/
我需要面对一个架构/设计决策。 我正在开发一个 Cordova/Meteor 应用程序,它具有独特的入门体验。新用户会看到一个向导,引导他们完成填写某些表单的步骤。 向导流程会等到最后一步才能注册用户
我想通过 psql 在空数据库中加载一些 SQL 函数: psql -d my_database -f fuctions.sql --set ON_ERROR_STOP=1 我使用 --set ON_
我是一名优秀的程序员,十分优秀!