我真的被困住了!我不是 ObjC 的专家,现在我正在尝试使用 Swift。我以为它会简单得多,但事实并非如此。我记得 Craig 说过他们称 Swift 为“没有 C 的 Objective-C”,但在 OS X 的基础中 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 的正确方法是什么?