Swift类“MyClass”没有成员名为“My_Var”
我在下面的Swift中创build了一个类,但它给出了错误:
'ApiUrls.Type'没有名为'webUrl'的成员
这是我的代码:
import UIKit class ApiUrls { let webUrl:NSString = "192.168.0.106:8888" var getKey:NSString = webUrl + NSString("dev/sys/getkey") // here comes the error ApiUrls.Type' does not have a member named 'webUrl }
有什么不对?
您不能使用另一个属性的值初始化实例属性,因为在所有实例属性初始化之前, self
不可用。
即使在初始化程序中移动属性初始化也不起作用,因为getKey
依赖于webUrl
,所以getKey
无法在初始化之前被初始化。
我看到webUrl
是一个常量,所以也许这是一个好主意,使其成为一个静态属性 – 类不支持静态,所以最好的方法是使用一个私有的结构:
class ApiUrls { private struct Static { static let webUrl: String = "192.168.0.106:8888" } var getKey: String = Static.webUrl + "dev/sys/getkey" }
另外,除非你有一个很好的理由,否则最好使用swiftstring而不是NSString
。
据我所知,你不能在类定义中初始化类似的variables。
尝试声明你的variables为
let webUrl:NSString = "192.168.0.106:8888" var getKey:NSString = ""
并将其添加到viewDidLoad中
getKey = webUrl + NSString("dev/sys/getkey")