Swift 如何从父类调用类扩展中定义的方法
在Swift中,从父类调用类扩展方法是否是一种良好的做法/可能?我收到一个编译错误,说ParentClass没有成员。它在扩展中看不到函数吗Swift 如何从父类调用类扩展中定义的方法,swift,class,extension-methods,Swift,Class,Extension Methods,在Swift中,从父类调用类扩展方法是否是一种良好的做法/可能?我收到一个编译错误,说ParentClass没有成员。它在扩展中看不到函数吗 class ParentClass: NSObject { public func doingManyThings() { doSomething() // Error: Value of type ParentClass has no member 'doSomething' } } 在另一个swift文件中 exten
class ParentClass: NSObject {
public func doingManyThings() {
doSomething() // Error: Value of type ParentClass has no member 'doSomething'
}
}
在另一个swift文件中
extension ParentClass {
func doSomething {
print("this will do something")
}
}
类B将继承类A方法,即使是通过扩展,
但是A类不会接受B类扩展方法。当然有可能。。。关于“良好实践”,我认为这是可以解释的。顺便说一句,
ParentClass
的使用在您的问题中有点含糊不清,因为您的示例中没有涉及继承。冒号是用来做什么的?问题是什么?这就是你的代码不能编译的原因吗?是冒号。否则就没问题了。谢谢你的评论。缺少包含扩展名的swift文件的目标成员身份。如果不解释代码以及它如何回答问题,此答案就不是很有用。谢谢Itamar-我收到一个编译错误-请参阅上面的编辑扩展名中的doSomething方法缺少“()”。不需要NSObject继承。
class A {
func aMethod() {
extensionMethod()
}
}
class B: A {
func bMethod() {
extensionMethod()
}
}
extension A {
func extensionMethod() {
print("totally possible")
}
}