【发布时间】:2014-10-23 04:56:56
【问题描述】:
我遇到了这个错误:
return (index == self.pagesTitles.count || index == NSNotFound) ? nil : viewControllerAtIndex(++index)
Bool 不能转换为 ObjCBool
我想做一个三元运算符来简化事情。有什么问题吗?
【问题讨论】:
-
什么是索引类型?为什么要让 NSNotFound 参与进来?
-
尝试将值存储在
temp变量中,然后返回它。let rValue = UTTypeConformsTo(utiCF, typeCF) != 0 rValue = (index == self.pagesTitles.count || index == NSNotFound) ? nil : viewControllerAtIndex(++index) return rValue -
我已经在 Xcode-beta6 中尝试过了,它可以工作。
let index = 10 let count = 20 let result = (index == count || index == NSNotFound) -
提供更多代码。
index是什么类型。声明返回的方法是什么类型?一个独立的示例确实是最好的,可以复制并粘贴到 Xcode 中来演示问题。调试可能需要减少问题,直到找到根本原因。当有多个语句而不是一个相当复杂的语句时,也更容易解决问题。分配给一个变量然后返回该变量使调试更容易,编译器会优化它。
标签: objective-c swift boolean ternary-operator