无法在捆绑包中加载 Nib
Posted
技术标签:
【中文标题】无法在捆绑包中加载 Nib【英文标题】:Could Not load Nib in bundle 【发布时间】:2017-04-04 00:08:59 【问题描述】:我无法将 Nib 上传到我的表格视图,这个问题也发生在我正在处理的其他应用程序中,即使我确实有一些 NIb 的文件工作得很好。我什至重新安装 Xcode 试图解决这个问题。我按如下方式注册我的笔尖
let test = "test"
let cellNib = UINib(nibName: test, bundle: nil)
tableView.register(cellNib, forCellReuseIdentifier: test)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: test, for:indexPath) as! testCell //after this function is called I get a crash
return cell
这是我从崩溃中得到的信息的一部分,我不知道是否有用。
'NSInternalInconsistencyException',原因:'无法在包中加载 NIB:'NSBundle(已加载)',名称为 'tests'' *** 首先抛出调用堆栈: ( 0 核心基础 0x000000010afdab0b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x0000000107b98141 objc_exception_throw + 48 2 核心基础 0x000000010b043625 + [NSException raise:format:] + 197 3 UIKit 0x0000000108b59b24-[UINib 实例化WithOwner:选项:] + 501 4 UIKit 0x00000001088ac567-[UITableView _dequeueReusableViewOfType:withIdentifier:] + 402 5 UIKit 0x00000001088aca4b-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] + 71 6 Chaol 0x000000010759ebe9 _TFC5Chaol23QuestionsViewController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell + 153
我的 .XIB 文件出现在副本包资源中。
【问题讨论】:
【参考方案1】:也许 nib 文件没有添加到您的目标中。 尝试这些步骤:
在项目中 > 目标 > 构建阶段
展开复制捆绑资源
单击 + 按钮并添加所需的 NIB 文件。
按 Shift+Cmd+K 清理您的构建,然后运行。
在您的 .xib 文件中
点击文件检查器
在 Target Membership 部分,选择您正在使用的目标
另外,请仔细检查您的笔尖名称的拼写。
【讨论】:
我确实试过了,但没用。我现在已经以编程方式创建了所有内容。 它启发了我如何找出问题所在 - 在重命名 xib 期间丢失了它的引用。我需要再次添加它。有趣的事实:git 没有发现它。 @ŁukaszSzpyrka 很明显 git 没有发现它。通常更改在您的 ProjectName.xcodeproj/project.pbxproj 中。以上是关于无法在捆绑包中加载 Nib的主要内容,如果未能解决你的问题,请参考以下文章