我对Swift 3中的函数命名规范有些困惑。
我查看了Swift 3指南,发现方法命名规范应该如下:
func move(from start: Point, to end: Point)
x.move(from: x, to: y)
但是...
如果我查看UINavigationController的方法,我会找到pushViewController
和presentViewController
方法。这些方法的调用看起来像这样:
navigationController?.pushViewController(viewController, animated: true)
navigationController?.present(controller, animated: true)
现在我在思考为什么pushViewController
方法调用不是Swift3的风格。同时,这两个方法之间存在着一定的不一致性。根据指南,我认为push
方法应该像这样:
rootNavigationController?.push(viewController, animated: true)
那么它将更像Swift 3。
让我们考虑一个简单的例子:
//1
func saveName(_ name : String) {}
saveName("John")
//2
func save(_ name: String){}
save("John")
//3
func save(name: String){}
save(name: "John")
在我看来,选项3最符合Swift 3指南。但另一方面,由于我的
pushViewController
和present(controller)
方法示例,选项1也不错。所以我的问题是:哪个选项最符合Swift 3指南?
更新:由于@Sweeper的答案,解决了
push
和present
方法之间不一致的原因。来源:https://github.com/raywenderlich/swift-style-guide 和 https://swift.org/documentation/api-design-guidelines/#parameter-names。
present
和push
方法之间存在不一致的问题。 - kamwysoc