gpt4 book ai didi

objective-c - 获取 nil 对象的类类型?

转载 作者:行者123 更新时间:2023-12-04 03:10:46 25 4
gpt4 key购买 nike

如果我有一个已经分配的对象,那么执行 object.class 会返回一个非零值。到目前为止,一切都很好。但是,如果对象尚未分配,则访问 object.class 将返回 nil

我想根据对象的类型动态分配一个对象,例如:

@property NSArray *myArray;
...

// myArray is nil so far

self.myArray = [_myArray.class new];

但是,我不能这样做,因为 _myArray.class 返回 nil。那么如何确定 nil 实例的类类型呢?

更新:事实上是可能的。查看我的 answer下面。

最佳答案

您无法确定 nil 实例的类,因为它没有实例:从字面上看,它可以是从变量类型派生的任何类型。例如,NSMutableArrayNSArray 完美兼容:

NSArray *myArray = [NSArray new]; // OK
NSArray *myArray = [NSMutableArray new]; // Also OK

由于不同子类的运行时能力可能有很大差异,因此始终由您的程序决定它需要什么样的对象。

关于objective-c - 获取 nil 对象的类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15588199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com