Java 如何在Swift中创建以日期为键、布尔值为值的字典/地图?

Java 如何在Swift中创建以日期为键、布尔值为值的字典/地图?,java,ios,swift,dictionary,maps,Java,Ios,Swift,Dictionary,Maps,我想用swift制作一张地图,用日期作为键,布尔值作为值。在java中,我将执行以下操作: private Map<Date,Boolean> map = new HashMap<>(); private void add() { long today = 9999999l; map.put(new Date(today), Boolean.TRUE); Boolean result = map.get(new Date(today));

我想用swift制作一张地图,用日期作为键,布尔值作为值。在java中,我将执行以下操作:

private  Map<Date,Boolean> map = new HashMap<>();

private void add() {
    long today = 9999999l;
    map.put(new Date(today), Boolean.TRUE);
    Boolean result = map.get(new Date(today));
    System.out.println(result);
}

public static void main(String[] args) {
    new Main().add();
}
private var statusOfCells = [NSDate: Bool]()

if let domain = statusOfCells[cell.currentDate] as Bool? {
if (domain){
 doSomething()
 }
}
这将导致一个致命错误:在展开可选值时意外发现nil


我似乎无法理解可选的展开。如何在swift中执行此操作?

swift地图使用示例:

let date = NSDate()
var dict = [NSDate: Bool]()
// Set flag
dict[date] = true
// Check
if let flag = dict[date] where flag == true {
    print("flag is true")
}

swift地图使用示例:

let date = NSDate()
var dict = [NSDate: Bool]()
// Set flag
dict[date] = true
// Check
if let flag = dict[date] where flag == true {
    print("flag is true")
}
您的数据:

var statusOfCells: [NSDate: Bool] = [:]
附加到字典:

let currentDate = NSDate()
statusOfCells[currentDate] = true
如果要检查词典的值并根据其进行操作:

if statusOfCells[cell.currentDate] ?? false {
    // Do something
}
它与avdyushin的答案相似,但略短。

您的数据:

var statusOfCells: [NSDate: Bool] = [:]
附加到字典:

let currentDate = NSDate()
statusOfCells[currentDate] = true
如果要检查词典的值并根据其进行操作:

if statusOfCells[cell.currentDate] ?? false {
    // Do something
}

它与avdyushin的答案类似,但略短。

如果cell.currentDate为null(在我的例子中为null),则抛出异常

如果cell.currentDate为null(在我的例子中为null),则会引发异常

你是如何在你的字典中设置值的?一定有别的东西,你的代码运行完美没有错误,你在做别的事情吗?你是如何在你的字典中设置值的?一定有别的东西,你的代码运行完美没有错误,你在做别的事情吗?嗯,也许下次更好的办法是显示错误发生的位置,并向我们提供有关您所显示内容的完整数据。;)好吧,也许下次更好的办法是显示错误发生的位置,并向我们提供有关您显示内容的完整数据。;)