【发布时间】:2014-06-13 21:32:26
【问题描述】:
Apple's documentation 非常清楚如何将 Objective-C 初始化方法转换为 Swift 初始化器:
“init”前缀被切掉,成为一个关键字,表明该方法是一个初始化器。对于以“initWith”开头的初始化方法,“With”也会被删除。将“init”或“initWith”分开的选择器片段的第一个字母变为小写,并且该选择器片段被视为第一个参数的名称。其余的选择器部分也对应于参数名称。
也可以使用工厂类方法作为初始化器;但是,关于这些选择器名称如何映射到 Swift 函数的信息要少得多:
为了一致性和简单性,Objective-C 工厂方法被映射为 Swift 中的便利初始化器。这种映射允许它们使用与初始化器相同的简洁、清晰的语法。例如,在 Objective-C 中,你可以像这样调用这个工厂方法:
目标-C
UIColor *color = [UIColor colorWithRed:0.5 green:0.0 blue:0.5 alpha:1.0];在 Swift 中,你可以这样称呼它:
斯威夫特
let color = UIColor(red: 0.5, green: 0.0, blue: 0.5, alpha: 1.0)
将 Objective-C 工厂方法映射到 Swift 初始化器的规则是什么?
【问题讨论】:
标签: objective-c swift