UILabel在崩溃报告中显示为“__NSCFString”(仅限iPad3)

时间:2015-06-14 18:45:27

标签: ios swift ipad

我正在收到一个问题的崩溃报告,这个问题似乎只发生在特定型号的iPad(iPad 3)上。这是错误:

NSInvalidArgumentException -[__NSCFString setText]: unrecognized selector sent to instance 0x...

以下是它来自的代码部分 - 具体来说,下面的第三行:

for thisColumn in 0..<numberOfColumns{
    let thisElement=ElementClass(frame: CGRectMake(0,0,0,0),column:thisColumn);
    thisElement.myLabel.text=elementText(thisColumn)

我没有iPad 3可以测试,不幸的是“iPad Retina”模拟器无法重现这个问题。所以,这就是我必须要做的。

ElementClass是我应用的自定义类之一,它是UIControl的子类。其中一个子视图称为myLabel,它应该是UILabel。由于它在崩溃中显示为__NSCFString,因此问题可能与UILabel设置有关。 ElementClass初始值设定项通过调用以下代码来设置UILabel

let myLabel=UILabel()

private func setupMyLabel(){
    let thisLabel=myLabel;
    thisLabel.frame=CGRectMake(0,
                               underlineY+myImage.frame.size.height,
                               self.frame.size.width,
                               self.frame.size.height-underlineY)
    self.addSubview(thisLabel)
    // other styling
    return
}

再一次,这只是在iPad 3上发生的(到目前为止)。感谢阅读,任何关于可能出现问题的想法都会非常棒。

编辑:

这是ElementClass的完整init方法:

init(frame: CGRect, column:Int) {
    // Setup general structure
    self.column=column;
    super.init(frame: frame)
    self.frame.size.width=elementWidth;
    self.frame.size.height=ElementClass.elementHeight;
    self.backgroundColor=UIColor.clearColor()

    setupMyLabel() 
    // other setup methods
}

0 个答案:

没有答案