我有两个文件:ClassA.swift和ClassB.swift
class ClassA: NSObject {
struct StructA {
func talk(string: String) {
println("I say: \(string)")
}
}
}
class ClassB: NSObject {
func makeItTalk(string: String) {
ClassA.StructA.talk("Hello") <--------------
}
}
我收到以下错误消息
类型“ ClassA.StructA”不符合协议“ StringLiteralConvertible”
知道为什么吗?这实际上是可以实现的吗?
您StructA
在静态上下文中访问,而您需要一个实例:
class ClassB: NSObject {
func makeItTalk(string: String) {
var myStruct = ClassA.StructA()
myStruct.talk("Hello")
}
}
另外,如果您的目标是静态访问该方法,则只需将其声明为静态struct方法即可:
static func talk(string: String) {
println("I say: \(string)")
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句