私は書籍をチェックアウトするための情報を含むStructを持っています。ユーザーが書籍を削除または追加するときには、配列内の書籍の総数を数え、次に別のクラスのラベルに合計を設定するためにdid setメソッドを使用します。問題は、ラベルに番号を設定しようとしたときに、「オプションの値をアンラップしている間に残っている」というメッセージが表示され、この問題を修正しようとしましたが、修正できません。気にいら間違っているのか、多分、私のストーリーボードは、構造体や配列を保持するのViewController間違っスウィフト:アンラップ中のUILabelなし
を設定し、配列の変化
let NewLabel = ViewControllerExtension()
var ServiceReportArray = [ServiceReport](){
didSet{
let sum : [Int] = ServiceReportArray.map{return$0.NumberOfBooks}
let totalSum = sum.reduce(0){return $0 + $1}
NewLabel.BooksLabel.text = String(totalSum)
//NewLabel.Myreload()
// This function returns the same error
}
}
を監視するためにdidSetを使用してこれは私のラベルはであるクラスですdidSetからの情報を入れるだけでなく、エラーを受け取る代わりに呼び出されるMyreload()関数を作成しました。
class ViewControllerExtension : UIViewController{
@IBOutlet weak var BooksLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
func Myreload(){
let sum : [Int] = ServiceReportArray.map{return $0.NumberOfBooks}
let totalSum = sum.reduce(0){return $0 + $1}
BooksLabel.text = String(totalSum)
}
}
UILabelで試してみませんか? –
@NaumanMalikはすでに動作していませんでした。なぜなら、コンテナビューを使用している別のビューコントローラ内にビューコントローラがあるからです。 – user3220141