gpt4 book ai didi

objective-c - 为什么 `__NSArrayI` 不是一种 `[NSArray class]?

转载 作者:行者123 更新时间:2023-12-03 16:56:31 24 4
gpt4 key购买 nike

所以我正在编写一个 NSTableView 代码。一切都很好——直到我的控制流停止工作。

出于某种原因,数组定义为 _permanentItems = @[ @[@"My", @"Permanent"], @[@"Items"] ]不是一种 NSArray

为什么会这样?

对于上下文 - 它确实适用于 NSNumber Why @(NO) isn't kind of class NSNumber

ActiveItems __NSArray NSArray

最佳答案

方法isKindOfClass适用于实例:

YES if the receiver is an instance of aClass or an instance of any class that inherits from aClass, otherwise NO.

itemClass 本身的类型是一种元类型,而不是一种 NSArray。你在这里的意思是:

if ([item isKindOfClass: arrayClass]) { ... }
^^^^

如果您需要完全在类中工作并且没有实例,那么您可以使用 +isSubclassOfClass: 来代替:

if ([itemClass isSubclassOfClass: arrayClass])) { ... }
^^^^^^^^^^^^^^^^^^

关于objective-c - 为什么 `__NSArrayI` 不是一种 `[NSArray class]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59684872/

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