0

我无法将 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 CoreFoundation 0x000000010afdab0b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x0000000107b98141 objc_exception_throw + 48 2 CoreFoundation 0x000000010b043625 +[NSException raise:format:] + 197 3 UIKit 0x0000000108b59b24 -[UINib instantiateWithOwner:options:] + 501 4 UIKit 0x00000001088ac567 -[UITableView _dequeueReusableViewOfType:withIdentifier:] + 402 5 UIKit 0x00000001088aca4b -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] + 71 6 Chaol 0x000000010759ebe9 _TFC5Chaol23QuestionsViewController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell + 153

我的 .XIB 文件出现在副本捆绑资源中。

4

1 回答 1

3

也许 nib 文件没有添加到您的目标中。尝试以下步骤:

  1. 在项目 > 目标 > 构建阶段

    展开复制捆绑资源

    单击 + 按钮并添加所需的 NIB 文件。

    通过 Shift+Cmd+K 清理您的构建,然后运行。

  2. 在您的 .xib 文件中

    点击文件检查器

    在 Target Membership 部分中,选择您正在使用的目标

  3. 此外,请仔细检查您的笔尖名称的拼写。

于 2017-06-21T09:58:09.383 回答