首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首选快速风格

问首选快速风格
EN

Stack Overflow用户
提问于 2015-05-02 03:05:00
回答 1查看 115关注 0票数 0

哪种风格是首选的?哪一个更快呢?

代码语言:javascript
复制
titleLabel?.adjustsFontSizeToFitWidth = true;
titleLabel?.textAlignment = NSTextAlignment.Center
titleLabel?.minimumScaleFactor = 0.2

vs

代码语言:javascript
复制
if let lbl = titleLabel? {
    lbl.adjustsFontSizeToFitWidth = true
    lbl.textAlignment = NSTextAlignment.Center
    lbl.minimumScaleFactor = 0.2 
}
EN

回答 1

Stack Overflow用户

发布于 2015-05-02 03:43:01

担心可读性,而不是速度。

请注意,如果您在Xcode中拖动来创建outlets,它将使用!(强制展开)而不是?预计在运行时插座将被正确连接,因此您不应该进行检查。您的IBOutlets应该如下所示:

代码语言:javascript
复制
@IBOutlet private weak var titleLabel: UILabel!

用于操作IBOutlet对象的代码通常应如下所示:

代码语言:javascript
复制
self.titleLabel.adjustsFontSizeToFitWidth = true
self.titleLabel.textAlignment = .Center
self.titleLabel.minimumScaleFactor = 0.2

另一方面,如果你在代码中有条件地创建这个视图(nil是一个有效值)...

代码语言:javascript
复制
private var titleLabel: UILabel?

如果要创建视图并一起设置其值,请执行以下操作:

代码语言:javascript
复制
let titleLabel = UILabel(frame: CGRect(...))
titleLabel.adjustsFontSizeToFitWidth = true
titleLabel.textAlignment = .Center
titleLabel.minimumScaleFactor = 0.2
self.titleLabel = titleLabel

如果你已经在别处创建了视图(所以它是可选的),现在你需要更新它的属性:

代码语言:javascript
复制
if let titleLabel = self.titleLabel {
    titleLabel.adjustsFontSizeToFitWidth = true
    titleLabel.textAlignment = .Center
    titleLabel.minimumScaleFactor = 0.2
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29993380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档