ビューコントローラー1のボタンからビューコントローラー2のラベルに整数を追加できます。別のswiftファイルで数値を渡そうとしています。 私はこれに適切なコードがあると思ったが、数字はtotalSumLabelに一緒に追加されていません。 はX-cideによって強制されます。それなしに私はエラーを取得する:異なるビューコントローラーで整数を追加する
class ViewController1: UIViewController {
var myTotal: addPrice?
@IBAction func button1(_ sender: UIButton) {
myTotal?.allSum += 190
}
@IBAction func button2(_ sender: UIButton) {
myTotal?.allSum += 240
}
ビューコントローラからコード2:
ビューコントローラからinport UIKit
class addPrice: NSNumber {
var allSum: Int = 0
}
コード1 "initは(記述)initに改名されました"
class ViewController2: UIViewController {
var myTotal: addPrice?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
totalSumLabel.text = String (describing: myTotal?.allSum)
どのようにviewController1からviewController2にナビゲートしていますか? seguesを使用している場合、 'prepareForSegue'に' viewController2.myTotal = myTotal'を設定することができます。 –
私はあなたの目的のためにあなたの財産の価値を保存するサービスを使用することをお勧めします。あなたのクラスaddPriceを呼び出すことも良い考えではありません。 – Kingalione
なぜあなたはクラスを作成していますか? 'var allSum:Int = 0'を初期化するだけで、プロジェクト全体でそれを得ることができます。実際には、その良い方法はわかりませんが、私はしなければなりません。いずれかの人にこのメソッドの提案がある場合は、私に知らせてください。 –