自从我使用 Objective C 以来已经有很长一段时间了,但现在我正在使用它,因为我需要编写一些与 future 版本保持大部分源代码兼容的东西。我想创建一个 init 方法,允许我使用我的自定义模型对象的数组来初始化我的 viewController。在 Swift 中,我会这样做:
typealias Stack = [StackBarTabItem]
…
func init(stacks:[Stack])
但是我如何像这样输入定义一个 NSArray 呢?我很确定我不能做类似 typedef NSArray<StackBarTabItem> Stack;
的事情那么 objective-c 中的语法是什么?
最佳答案
直到 iOS 9 和 Xcode 7,这才得到官方支持。一种方法是将 NSArray
或 NSMutableArray
子类化,并在子类中强制键入,但实际上并不推荐这样做。处理 NSArray
只能保存 id
这一事实的一种方法是在对数组。
此解决方案并不能真正替代良好的打字系统,但绕过此限制是一种常见的做法。值得庆幸的是,很快就会添加通用支持!
关于ios - Objective C 中类型的 Typedef NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31612566/