1
我正在用swift编写UIView的新子类。为了清楚起见,我想要一个视图数组,并且我想在初始声明中实例化它们。在swift中初始化视图数组的最佳方法?
如果这是一个int数组,我可以做这样的事情:
let values: [Int] = (0...4).map() { $0 }
所以我试图想出某种类似SWIFTY一个班轮,将创建UIButtons数组,而不是Ints。我的第一个想法是(0...4).map() { UIButton.buttonWithType(.Custom) }
,但如果我这样做(或者如果我用NSObject()替换UIButton代码),我得到一个错误,说''Transition'没有名为'map'的成员。我可以,比如说做map() { "\($0)" }
并得到一串字符串。
我的下一个想法只是为了获得int数组,然后再使用地图上那些返回按钮,如:
let values: [UIButton] = (0...4)
.map() { $0 }
.map() { UIButton.buttonWithType(.Custom) }
,但是这给了我同样的错误。我在做什么错,在这里?
你觉得这是最**清楚**你可以编码的方式?或者可能是最“可爱”的方式。对未来读者的清晰度是巨大的胜利。 Brian Kernighan:“如果你写的时候你的聪明才智,你将如何进行调试?” – zaph 2014-12-05 00:23:39
嗯,我故意留在(可选的)[UIButton]类型注释中,以明确它产生一个UIButton数组。我们显然还在搞清楚编写Swift的最佳实践是什么,但是我认为一旦你看到了这个,之后它不应该感到太疯狂了。 – cmyr 2014-12-05 00:23:54