Tôi đã triển khai StringLiteralConvertible
, mở rộng ExtendedGraphemeClusterLiteralConvertible
. Có vẻ như nó cũng muốn tôi thực hiện điều đó. Tuy nhiên, khi tôi làm, Xcode nói rằng nó không biết ExtendedGraphemeClusterLiteralType
là gì. Tôi không chắc chắn những gì nó muốn từ tôi ...Triển khai StringLiteralConvertible trên NSURL
extension NSURL : StringLiteralConvertible {
class func convertFromStringLiteral(value: StringLiteralType) -> Self {
return self(string: value)
}
class func convertFromExtendedGraphemeClusterLiteral(value: ExtendedGraphemeClusterLiteralType) -> Self {
// Use of undeclared type ExtendedGraphemeClusterLiteralType :(?
}
}
let url : NSURL = "http://apple.com"
Cảm ơn. Tóm lại, tất cả những gì tôi phải thay đổi là sử dụng 'String' thay vì' StringLiteralType' và 'ExtendedGraphemeClusterLiteralType'. Đây là một chút bất ngờ, vì tôi mong đợi phải thực hiện các phương thức trong giao thức chính xác như chúng đã xuất hiện trong định nghĩa giao thức. – Jarsen
Tính năng Swift 1.1 này không còn hoạt động nữa. – kareman
Theo dõi cho 1.1 có thể được tìm thấy ở đây: http://stackoverflow.com/questions/27071880/implementing-stringliteralconvertible-on-nsurl-in-swift-1-1 – hnh