Jas*_*ach 3 swift swift-protocols
我有两个不相关的对象(第三方API)具有一些相同的属性.我想要一个调用的辅助方法,它将从属性中提取数据并构建一个NSDate对象但theObject.valueForKey似乎不起作用.
我试过这个功能签名func foo<T: NSObject where T: NSObjectProtocol>(record: T) -> NSDate? { ... }但没有运气.
有什么想法吗?
这是协议的用途:
class ClassOne {
var dateInfo: String = ""
}
class ClassTwo {
var otherDateInfo: String = ""
}
protocol DateBuildingProtocol {
func buildDateFromDateInfo() -> NSDate
}
extension ClassOne: DateBuildingProtocol {
func buildDateFromDateInfo() -> NSDate {
// do something with self.dateInfo
return NSDate()
}
}
extension ClassTwo: DateBuildingProtocol {
func buildDateFromDateInfo() -> NSDate {
// do something with self.otherDateInfo
return NSDate()
}
}
Run Code Online (Sandbox Code Playgroud)
协议赋予您一些其他语言具有的多重继承的能力.基本上,您声明了一个两个类都应该具有的方法,并在每个类上实现该方法以使用您需要的特定变量.
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |