gpt4 book ai didi

ios - Nib 必须恰好包含一个顶级对象,该对象必须是 UITableViewCell 实例

转载 作者:技术小花猫 更新时间:2023-10-29 10:36:01 25 4
gpt4 key购买 nike

当我尝试使用已注册重用的 nib 时出现间歇性错误。我在两个 ViewController 上使用相同的自定义单元格。

2013-09-05 11:04:08.476 xxx[51395:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (TweetTableViewCellId) - nib must contain exactly one top level object which must be a UITableViewCell instance'

  1. 我在对象列表中使用带有一个 View 的 NIB 文件 - 当然在最上面 -。它有 TweetViewCell 类型,它扩展了 UITableViewCell -。
  2. 我已经将 [b]identifier[/b] 定义为“TweetTableViewCellId
  3. 我加载了 nib 并在 viewDidLoad 上注册了它(我已经调试并加载了 nib 对象)
  4. 我尝试使用相同的 ID 恢复已注册的单元格。

一些代码

// First Controller to use custom Cell
@implementation TweetsViewController

- (void) viewDidLoad
{
...
UINib *nib = [UINib nibWithNibName:kTweetTableViewCellNibName bundle:nil];
[self.tweetsTableView registerNib:nib forCellReuseIdentifier:@"TweetTableViewCellId"];

..
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TweetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTweetTableViewCellId forIndexPath:indexPath];
...
}

@end

// second Controller to use custom Cell

@implementation OfflineEpisodeModalViewController

- (void) viewDidLoad
{
UINib *nib = [UINib nibWithNibName:kTweetTableViewCellNibName bundle:nil];
[self.tweetSearchTableView registerNib:nib forCellReuseIdentifier:kTweetTableViewCellId];
}

...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TweetTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TweetTableViewCellId" forIndexPath:indexPath];
}

@end

有什么建议吗?

最佳答案

我有一个标签不在左侧 XIB 文件元素列表的“内容 View ”下。

我去掉了那个标签,它起作用了。

关于ios - Nib 必须恰好包含一个顶级对象,该对象必须是 UITableViewCell 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639099/

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