gpt4 book ai didi

ios - UINib 实例化的对象没有显示其正确的类?

转载 作者:行者123 更新时间:2023-12-01 16:48:56 27 4
gpt4 key购买 nike

我有一个 xib 文件,它是一个 View ,我已将其指定为 FooView 类。

当我分配它时:

UINib *fooViewXib = [UINib nibWithNibName:@"FooView" bundle:[NSBundle mainBundle]];
FooView *fooView = [[fooViewXib instantiateWithOwner:self options:nil] lastObject];
fooView.lolLabel.text = @"lol";

如果我再问它:
[fooView isKindOfClass:[FooView class]];

它说不...

然而,如果我 NSLog fooView 对象,它说它是一个 fooView。如果我直接 NSLog fooView 对象的类,它会显示为 FooView 类。

为什么 isKindOfClass 不能正确识别这个对象,我该怎么做?

最佳答案

而不是使用 lastObject , 遍历数组,直到找到具有正确类的 View 。像这样做

NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:@"FooView" owner:self options:nil];
FooView *view;
for (id object in nibViews)
if ([object isKindOfClass:[FooView class])
view = object;
// do whatever you want with view

这将确保您获得正确类的 View 。

关于ios - UINib 实例化的对象没有显示其正确的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779273/

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