无法识别的选择器有时仅发送到实例

时间:2015-08-10 20:50:13

标签: ios swift scroll deque tablecell

我收到错误

无法识别的选择器发送到实例

哪个确定与

有关
    let nibName=UINib(nibName: "bankCollectionViewCell", bundle:nil)

    self.bankCollection.registerNib(nibName,  forCellWithReuseIdentifier: "selectBank")


    let cell = bankCollection.dequeueReusableCellWithReuseIdentifier("selectBank", forIndexPath: indexPath) as! bankCollectionViewCell



let cell = 
  bankCollection.dequeueReusableCellWithReuseIdentifier("selectBank", 
  forIndexPath: indexPath) as! bankCollectionViewCell

哪一个 - 如果是 - 那我就可以处理它。但是 - 当我在模拟器中运行App并选择iphone5时,问题不存在。它只在我选择iphone 6或ipad时才会发生。所以单元格命名为ok。

这让我觉得代码本身很好 - 然后让我思考 - 还有什么可能是错的。我无法修复没有错误的代码 - 但它不起作用。

错误后高亮显示的代码行是上面的代码 -

给出的信息是:

[__NSCFString zIndex]: unrecognized selector sent to instance 0x7fd760cc4740

从追踪

could not dequeue a view of kind: %@ with identifier %@ - must register a nib or a class for the identifier or connect a prototype cell in a storyboard"

你说哪个AHA必须注册nib - 但它是(如果我使用iphone 5模拟器)并且没有我没有任何特殊代码来选择不同的设备。

再次 - 这段代码适用于iphone5模拟器,但不适用于6。

除此之外,我发现如果我编辑故事板并使单元格更大 - 那么我就取得了一些成功。但是我现在面临的问题是,只要我滚动 - 应用程序崩溃 - 同样的错误。

阅读 - 我不确定是什么问题 - 看起来是某种内存分配 - 但我不确定是什么或如何

1 个答案:

答案 0 :(得分:0)

你的问题在那里:

let nibName=UINib(nibName: "bankCollectionViewCell", bundle:nil)

我认为你的XIB名称是BankCollectionViewCell,带有大写字母。 根据文档,模拟器不区分大小写,但实际设备是。 因此,解决方案是正确的nibName

let nibName=UINib(nibName: "BankCollectionViewCell", bundle:nil)