Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对Swift Optionals的疯狂解释_Swift_Optional - Fatal编程技术网

对Swift Optionals的疯狂解释

对Swift Optionals的疯狂解释,swift,optional,Swift,Optional,对Swift期权有一个“简单”的解释 这家伙有一些疯狂的例子,比如: if let p = partitionArray([1, 2, 3, 4] as NSArray?) { // this code will be called } if let p = partitionArray([1, 2, 3] as NSArray?) { // this code won't be called } 你知道吗?对我来说,这些代码都是相同的,只是第二个数组少了一个元素。第二个不执

对Swift期权有一个“简单”的解释

这家伙有一些疯狂的例子,比如:

if let p = partitionArray([1, 2, 3, 4] as NSArray?) {
    // this code will be called
}

if let p = partitionArray([1, 2, 3] as NSArray?) {
    // this code won't be called
}
你知道吗?对我来说,这些代码都是相同的,只是第二个数组少了一个元素。第二个不执行的原因是黑魔法,或者那个家伙抽的是很糟糕的东西

他举了另一个例子:

partitionArray([1, 2, 3, 4] as NSArray?)![0] // will work fine
partitionArray([1, 2, 3] as NSArray?)![0] // will crash
同样的事情


如果这是一个简单的解释,我不明白。你们能解释一下吗?

配分函数可以

if (p.count % 2 != 0) return nil;

零!will crash

他明确表示:“……想象一下我们想将一个阵列分成两个大小相等的分区。”这个问题似乎离题了,因为它是用一种不适合这个场所的闲聊风格写的。啊,我明白了。我假设在第二行中,它将返回nil,然后将出现一条发送给nil的消息,这很好,但是swift将不允许发送给nil的消息在不崩溃的情况下通过。啊。。。谢谢