2016-04-09 9 views
0

なぜこのスレッドを取得し続けるのか分かりません。このプログラムを実行すると、エラーメッセージが表示されます。スレッド1:Exc_Bad_Instruction?

let textLabelOriginX = self.checkboxSideLength + 5.0 
    _ = CGSizeMake(CGRectGetWidth(self.bounds) - textLabelOriginX, CGRectGetHeight(self.bounds)) 
    let myNSString: NSString = NSString(string: ((self.textLabel.text))!) 
    let textLabelSize:CGSize = myNSString.sizeWithAttributes([NSFontAttributeName: self.textLabel.font]) 
    self.textLabel.frame = CGRectIntegral(CGRectMake(textLabelOriginX, (CGRectGetHeight(self.bounds) - textLabelSize.height)/2.0, textLabelSize.width, textLabelSize.height)) 

textLabelがまだ設定されていないため、エラーは、この行==>let myNSString: NSString = NSString(string: ((self.textLabel.text))!)

答えて

2

ほとんどの場合、これはあります。たとえば、このコードがビューコントローラのライフサイクルの早い段階で呼び出されている場合、コンセントはまだ設定されていないため、リンクされたインスタンス変数はすべてゼロになります。その場合、self.textLabel.textnilになり、!で強制アンラップするとクラッシュします。

あなたの状況に合っていないようなら、レビューのためにコードの大部分を投稿してください。

+0

ありがとう:)othomas – Shadow

関連する問題