小编Kev*_*inR的帖子

Swift 3转换'Int1'不能转换为'Bool'

我正在转换编译并运行到Swift 3的Swift 2代码,我收到以下错误:

'Int1'不能转换为'Bool'

代码如下:

isUpdated = sharedInstance.database!.executeUpdate(
"UPDATE Coin_Table SET upgrade=?, grade=?, WHERE coin_id=?", 
withArgumentsInArray: [
coinInfo.upgrade, (coinInfo.grade != nil) ? coinInfo.grade! : NSNull(), 
coinID])
Run Code Online (Sandbox Code Playgroud)

上面的代码使用FMDB和FMDB.h中定义的方法

- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
Run Code Online (Sandbox Code Playgroud)

编译上面的代码时,它标记"(coinInfo.grade!="并给出错误.

我尝试简化它以查看它是否仍会发生:

let theArray: NSArray = [true ? "foo" : NSNull()]
Run Code Online (Sandbox Code Playgroud)

并且仍然得到相同的错误,这次它标记"真实".

错误的屏幕截图

我已经对此进行了大量搜索,并且除了https://bugs.swift.org/browse/SR-2372之外没有找到任何其他内容,但这是元组问题,我认为这不会影响我的码.

任何人都可以对此有所了解或建议一个解决方法,如果它是一个编译器错误?

谢谢

ios swift3 xcode8

13
推荐指数
1
解决办法
5403
查看次数

标签 统计

ios ×1

swift3 ×1

xcode8 ×1