Java 如何在Swift中创建以日期为键、布尔值为值的字典/地图?
我想用swift制作一张地图,用日期作为键,布尔值作为值。在java中,我将执行以下操作: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));
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),则会引发异常 你是如何在你的字典中设置值的?一定有别的东西,你的代码运行完美没有错误,你在做别的事情吗?你是如何在你的字典中设置值的?一定有别的东西,你的代码运行完美没有错误,你在做别的事情吗?嗯,也许下次更好的办法是显示错误发生的位置,并向我们提供有关您所显示内容的完整数据。;)好吧,也许下次更好的办法是显示错误发生的位置,并向我们提供有关您显示内容的完整数据。;)