2017-02-17 36 views
-1

我得到這個錯誤:「不明確的參考成員‘標’」,在這行代碼:曖昧參考成員「下標」,當我有一個NSDictionary的

var messages = sections[startDay] 

這章節的聲明:

var sections = [NSDate:[Message]]() 

和TE朝九特派

let calendar = NSCalendar.current 
    let startDay = calendar.startOfDay(for: date as Date) 
+0

你在哪裏使用'NSDictionary'?你似乎在使用Swift字典,而不是'NSDictionary'(這是一件好事)。 – rmaddy

+0

你必須使用日期而不是NSDate和日曆,而不是NSCalendar –

+0

不,它不起作用 –

回答

1

錯誤完全是誤導。真正的原因是您不能使用類型爲Date的密鑰對[NSDate: [Message]]字典下標。 Date是Swift,NSDate是Objective-C。同0123,等

除非你有一個很好的理由否則,總是在Swift中使用Swift數據類型。

var sections = [Date: [Message]]() 
let date = Date() 
let startDay = Calendar.current.startOfDay(for: date) 

var messages = sections[startDay] 
+0

謝謝!我嘗試過,並且在我的代碼中發佈了這條消息,但我發現了一些錯誤,但是這些更改都起作用了! –