我正在为SceneKit
(逐行)将一些Objective C代码转换为Swift。我在Objective-C中找到了这行代码,我似乎无法弄清楚它的含义。
SCNMatrix4 _cameraHandleTransforms[SLIDE_COUNT];
它来自这里:https://developer.apple.com/library/prerelease/ios/samplecode/SceneKitReel/Listings/SceneKitReel_AAPLGameViewController_m.html
我知道它正在创建SCNMatrix4
,我知道SLIDE_COUNT
是一个解析为10
的常量。我不知道方括号在这种情况下做了什么。我认为没有任何阵列访问发生。 Swift抱怨它没有SCNMatrix4
的下标访问权限,这在检查Swift库时是有意义的。
答案 0 :(得分:3)
您正在看一个C风格的静态大小的数组声明。该行声明了一个大小为SCNMatrix4
的{{1}}类型的C数组。
SLIDE_COUNT
类型上使用下标访问,这是一个普通的旧C结构。有关详细信息,请参阅the Apple docs on that type,并记住:
没有 C ,你不能拥有 Objective-C !
答案 1 :(得分:1)
它声明了一组SCNMatrix4结构。数组的大小为SLIDE_COUNT。
稍后在该文件(SceneKitReel / AAPLGameViewController.m)中,它访问_cameraHandleTransforms数组中的各种项目。查看setupEnvironment和presentStep:方法。