从原始 class 中访问 swift class 扩展方法

Accessing swift class extension methods from within original class

下面的代码不能为我编译:

import Foundation  
@objc public protocol MyProtocol {  
    func protocolMethod(parameter: (String)) -> String  
    func anotherProtocolMethod() -> Int  
}  
class MyClass: NSObject {  
    var myValue = self.anotherProtocolMethod()  
}  
extension MyClass: MyProtocol {  
    func protocolMethod(parameter: (String)) -> String {  
        return ""  
    }  

    func anotherProtocolMethod() -> Int {  
        return 1  
    }  
}  

错误发生在分配 myValue 的行上,它显示为: 错误:'NSObject -> () ->MyClass 类型的值没有成员 anotherProtocolMethod

有没有办法在不将 myValue 移动到 class 扩展中的情况下完成这项工作?

这与扩展名无关。这行在任何情况下都是非法的:

var myValue = self.anotherProtocolMethod() // an instance property

存储的实例属性不能通过调用实例方法直接初始化,因为在初始化时实例正是还不存在的东西。