<分区>
在 objective-c 中是否有任何方法可以找到以下一种方式声明的属性类型:
@property(nonatomic, strong) NSArray<CustomClass *> *array;
我可以获得此属性的类型作为 NSArray,但有什么方法可以获取 CustomClass 类型?
提前致谢。
<分区>
在 objective-c 中是否有任何方法可以找到以下一种方式声明的属性类型:
@property(nonatomic, strong) NSArray<CustomClass *> *array;
我可以获得此属性的类型作为 NSArray,但有什么方法可以获取 CustomClass 类型?
提前致谢。
最佳答案
无法在运行时接收有关泛型声明的信息。 Objective-C 泛型是最近添加到语言中的。它们仅用于编译时检查,因此不会创建任何额外的运行时信息。请注意,泛型声明并不严格阻止将其他类的对象存储在数组中 - 编译器警告可能会被抑制,尽管这是一种不好的做法。
但是,仍然有可能确定对象的类,存储在数组中。例如,您可以使用类似 [array valueForKey:@"class"]
的代码来接收对应于每个元素的类数组。
关于ios - 在运行时 objective-c 中获取数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35421294/
相关文章:
if-statement - Julia 中的一个简单的 'if' 语句将我的主筛的运行时间增加了 15 倍——为什么?
delphi - FreePascal RTTI。有没有办法调用方法?
ios - 如何将 UIImageView 旋转 20 度?
iphone - 在 iOS 7 中未观察到 UIAccessibilityInvertColorsStatusDidChangeNotification
iphone - 使用 iPhone SDK 查找 SRV 记录
iphone - 我可以提高当前 Modal ViewController 的动画速度吗?
objective-c - 如何检查是否已设置 NSArray