extension Array where Element: StringLiteralConvertible{
func spliteByPrefix() -> [Element]{
for item in self{
}
return []
}
}
我想写一个Array的扩展,其Element总是一个String。在我的spliteByPrefix()函数中,我想使用item.characters或String所具有的其他东西。怎么样?
答案 0 :(得分:1)
目前,您无法在Swift中编写Array
“Element
始终为String
”的扩展名。
但是你可以写一些具有几乎相同功能的扩展。
编写自己的协议,String
可以符合:
protocol MyStringType {
var characters: String.CharacterView { get }
//You may need some other properties or methods to write your extension...
}
// Make `String` the only type conforming to `MyStringType`.
extension String: MyStringType {}
并编写一个Element
符合协议的扩展名。
extension Array where Element: MyStringType {
func spliteByPrefix() -> [Element]{ //You really want to return, `Array<Element>`?
for item in self {
for ch in item.characters {
//Do something with `ch`.
_ = ch
}
}
return []
}
}
答案 1 :(得分:0)
在此示例中,$(window).bind('beforeunload', function () {
return 'Your custom message here';
});
始终为Element
。我使用数组的元素本身
Int
使用示例:
extension Array where Element: IntegerType {
func toString() -> [String] {
var result = [String]()
for value in self {
result.append(String(value))
}
return result;
}
}