有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我想用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();
}

在swift中,我有以下信息:

private var statusOfCells = [NSDate: Bool]()

if let domain = statusOfCells[cell.currentDate] as Bool? {
if (domain){
 doSomething()
 }
}

这将导致一个致命错误:在展开可选值时意外发现nil

我似乎无法理解可选的展开。我用斯威夫特怎么做


共 (3) 个答案

  1. # 1 楼答案

    如果是电池。currentDate为null,在我的例子中是,抛出异常

  2. # 2 楼答案

    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")
    }
    
  3. # 3 楼答案

    您的数据:

    var statusOfCells: [NSDate: Bool] = [:]
    

    附加到字典:

    let currentDate = NSDate()
    statusOfCells[currentDate] = true
    

    如果要检查词典的值并根据其进行操作:

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

    它与avdyushin的答案相似,但略短一些