我真的陷入困境了!我不是ObjC的专家,现在我正在尝试使用Swift。我以为它会更简单,但事实并非如此。我记得Craig说他们把Swift称为“没有C的Objective-C”,但OS X系统中的Foundation库中有太多的C类型。文档中说许多ObjC类型将自动转换为Swift类型,可能是双向的。我很好奇:C类型呢?
这就是我卡住的地方:
//array1:[String?], event.KeyCode.value:Int16
let s = array1[event.keyCode.value]; //return Int16 is not convertible to Int
我在 ObjC 中尝试了一些东西:
let index = (Int) event.keyCode.value; //Error
或者
let index = (Int32) event.keyCode.value; //Error again, Swift seems doesn't support this syntax
如何正确将Int16转换为Int?
let s = array1[Int(event.keyCode.value)]
。 - Jack