我有一個名爲eegsnapshot.swift的文件,它從EEG傳感器讀取值並將它們存儲在字典中(我認爲?)。我無法訪問這些值。我對Swift很陌生,並且在數組和字典上做了一些工作,但這裏使用的方法比我之前遇到的方法更復雜。如何訪問這些字典值? (Swift)
任何人都可以給我一些洞察力來訪問字典中的值,例如「eegDelta」?
我希望能夠使用這些值來控制SceneKit中的動畫,但需要先能夠訪問它們。
public struct EEGSnapshot {
public let delta: Int
public let theta: Int
public let lowAlpha: Int
public let highAlpha: Int
public let lowBeta: Int
public let highBeta: Int
public let lowGamma: Int
public let highGamma: Int
public static let allZeros = EEGSnapshot()
public init(dictionary: NSDictionary = [:]) {
func extractPoint(key: String) -> Int {
return dictionary[key] as? Int ?? 0
}
delta = extractPoint("eegDelta")
theta = extractPoint("eegTheta")
lowAlpha = extractPoint("eegLowAlpha")
highAlpha = extractPoint("eegHighAlpha")
lowBeta = extractPoint("eegLowBeta")
highBeta = extractPoint("eegHighBeta")
lowGamma = extractPoint("eegLowGamma")
highGamma = extractPoint("eegHighGamma")
}
}
public extension NSDictionary {
public convenience init(eegSnapshot: EEGSnapshot) {
self.init(objects: [eegSnapshot.delta, eegSnapshot.theta, eegSnapshot.lowAlpha, eegSnapshot.highAlpha, eegSnapshot.lowBeta, eegSnapshot.highBeta, eegSnapshot.lowGamma, eegSnapshot.highGamma],
forKeys: ["eegDelta", "eegTheta", "eegLowAlpha", "eegHighAlpha", "eegLowBeta", "eegHighBeta", "eegLowGamma", "eegHighGamma"],
count: 8)
}
}
我已經試過
var deltaValue = EEGSnapshot["eegDelta"]
和類似的,但我得到的錯誤 「類型EEGSnapshot.Type沒有標成員」。
你是什麼意思「試圖訪問這些值的麻煩」?你是否得到他們?你有什麼錯誤嗎? –
我不知道用什麼代碼來獲取值。我試過'var deltaValue = EEGSnapshot [「eegDelta」]'和類似的,但我得到錯誤「Type EEGSnapshot.Type沒有下標成員」。 – ChloeS
嘗試'EEGSnapshot()[「eegDelta」]'以避免此錯誤。但我不確定是否有問題。爲了獲得任何字典的值,你應該使用'字典[「鍵」]' – Faruk