【发布时间】:2018-08-20 07:38:40
【问题描述】:
这个问题我已经有一段时间了。 我无法调用其中包含实例成员的静态函数。 我得到错误:
实例成员“matomoTracker”不能用于类型“Tracker”
class Tracker {
let matomoTracker:MatomoTracker
var isAllowed: Bool? //to implement based on UserSessions
required init(id: String, url: String, isAllowed: Bool) {
matomoTracker = MatomoTracker(siteId: id, baseURL: URL(string: url)!)
matomoTracker.isOptedOut = isAllowed
}
public func track(category: String, eventDescription: String) {
matomoTracker.track(eventWithCategory: "category", action: "action", name: nil, number: nil, url: nil)
}
static func dispatch() {
Tracker.matomoTracker.dispatch()
}
static func startSession() {
Tracker.matomoTracker.startNewSession()
}
}
【问题讨论】:
-
静态(类型)方法在类型上调用,而不是在特定实例上。如果您致电
Tracker.dispatch(),您希望发生什么? -
我知道在类型上调用了一个静态方法。我不理解无法在静态方法中调用的实例成员的错误。为什么会出现这个错误
-
是否有解决方法或正确的方法来继续