我最近将我的代码迁移到Swift 4。我面临一个问题扩展, i.e.:
扩展的声明还不能被覆盖
我已经阅读了多篇重新评估此问题的帖子。但他们都不接受下面描述的场景:
class BaseCell: UITableViewCell
{
//Some code here...
}
extension BaseCell
{
func isValid() -> String?
{
//Some code here...
}
}
class SampleCell: BaseCell
{
//Some code here...
override func isValid() -> String? //ERROR..!!!
{
//Some code here...
}
}
据苹果公司称,
扩展可以向类型添加新功能,但不能覆盖现有功能。
但在上面的场景中,我没有重写该方法isValid()
在延伸中。它被覆盖在SampleCell
类定义本身。尽管如此,它还是给出了错误。
但在上面的场景中,我没有重写该方法isValid()
在扩展中。
isValid
被宣布在扩大.
该错误几乎表明,如果以这种方式声明函数,它不能被覆盖.
该声明对双方均有效从扩展 and 在扩展中.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)