作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
具有以下单例:
class Colors {
static let sharedInstance = Colors()
private init() {}
let mainColor = UIColor.redColor()
}
我在别的课上是这样调用它的:
Colors.sharedInstance.mainColor
有没有办法这样调用它?:
Colors.mainColor
如果我有一个内部结构怎么办:
class Colors {
static let sharedInstance = Colors()
private init() {}
let mainColor = UIColor.redColor()
struct gradients {
let blueToRed = UIColor.blueColor()
}
}
我调用渐变的唯一方法是:
Color.gradients().blueColor
如果我添加一个静态属性来初始化结构,我可以去掉括号,但是在键入自动完成时会同时显示静态属性和结构:
class Colors {
static let sharedInstance = Colors()
static let gradientsProperty = gradients()
private init() {}
let mainColor = UIColor.redColor()
struct gradients {
let blueToRed = UIColor.blueColor()
}
}
我想输入Colors.gradients.blueToRed
最佳答案
我想出了这个答案。单例的原因是使用和性能简单,因为不需要每次都实例化类或结构。
此外,要存储在此处的数据不会流经应用程序,也不会在应用程序中进行修改,它只是可重用性的基本颜色,稍后可能还有其他内容,例如 UI 元素的间距常量。
如上所述,在这种情况下不需要类,因为我不会修改数据。
这个答案允许我正在寻找的语法:
struct Style {
private init() {}
static let color = Color()
static let gradient = Gradient()
}
struct Color {
let mainColor = UIColor.redColor()
let secundaryColor = UIColor.blueColor()
let textColor = UIColor.darkGrayColor()
}
struct Gradient {
let backgroundGradient = UIColor.brownColor()
let overlayGradient = UIColor.yellowColor()
}
这是你如何使用它:
Style.color.mainColor
Style.gradient.backgroundGradient
关于ios - 如何创建单例并跳过 sharedInstance 静态属性语法部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999108/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!