【发布时间】:2016-09-18 05:17:01
【问题描述】:
我有一个名为APIGroup 的基本类,其存在的唯一目的是子类化(除了子类访问的某些static 属性之外,它[尚未] 用于其他任何东西)。它看起来有点像这样:
public class APIGroup {
public static let someProperty : String = "I am a property!"
}
我有一个子类Track,它定义了一个type方法search如下:
public class Track : APIGroup {
public static func search(name: String) -> Void {
print("Track search initiated. Name: \(name)")
print("And the property is: \(someProperty)")
}
}
这两个类在同一个模块的不同文件中定义。在另一个目标中,我导入模块并尝试调用:
import MyModule
MyModule.Track.search("testing...")
但这会抛出:Type 'Track' has no member 'search'。我做错了什么?
【问题讨论】:
-
您是否将包含此方法的文件添加到您正在测试的目标中? (即在 Xcode 中,您必须在文件检查器中选中 Target Membership 下的框,以便将文件作为目标的一部分包含在内)
-
是的,我做到了。我可以访问
MyModule和MyModule.Track。 -
@Sulthan 要是编码这么简单就好了……
-
会不会与另一个类
Track发生名称冲突?
标签: swift class static-methods public subclassing