1
所以我想編寫一個「瘋狂庫」爲主題的一類我在應用程序,但我不斷收到一個傳遞數據從班上課
EXC_BAD_INSTRUCTION
錯誤時我點擊提交按鈕。班上的其他學生也不知道。請幫幫我!
這裏是我的firstViewController.swift:
import UIKit
class ViewController: UIViewController
{
@IBOutlet weak var firstTextField: UITextField! //adjective
@IBOutlet weak var secondTextField: UITextField! //male name
@IBOutlet weak var thirdTextField: UITextField! //verb
@IBOutlet weak var fourthTextField: UITextField! //female name
@IBOutlet weak var fifthTextField: UITextField! //adjective
@IBOutlet weak var sixthTextField: UITextField! //athlete
@IBOutlet weak var seventhTextField: UITextField! //food
@IBOutlet weak var eighthTextField: UITextField! //restaurant name
var userInfo = myCustomClass()
override func viewDidLoad()
{
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
userInfo.adjectiveOne = firstTextField.text!
userInfo.maleName = secondTextField.text!
userInfo.verb = thirdTextField.text!
userInfo.femaleName = fourthTextField.text!
userInfo.adjectiveTwo = fifthTextField.text!
userInfo.athlete = sixthTextField.text!
userInfo.food = seventhTextField.text!
userInfo.restaurantName = eighthTextField.text!
let nextView = segue.destination as! secondViewController
nextView.passedObject = userInfo
}
}
這裏是我的secondViewController.swift:
import UIKit
class secondViewController: UIViewController
{
var passedObject = myCustomClass()
@IBOutlet weak var myFinishedProduct: UILabel!
override func viewDidLoad()
{
super.viewDidLoad()
myFinishedProduct.text = "There was once a \(passedObject.adjectiveOne) man /n \(passedObject.maleName). One day while he was \(passedObject.verb) he saw /n \(passedObject.femaleName), a rather \(passedObject.adjectiveTwo) woman. /n She was also a \(passedObject.athlete), and a very good /n one too. The two went to lunch together at \(passedObject.restaurantName) /n and ate some \(passedObject.food). After /n that they never crossed paths again."
}
}
最後在這裏被稱爲 「myCustomClass.swift」 我NSObject的:
import UIKit
class myCustomClass: NSObject
{
var adjectiveOne = ""
var maleName = ""
var verb = ""
var femaleName = ""
var adjectiveTwo = ""
var athlete = ""
var food = ""
var restaurantName = ""
}
基本上,無論用戶輸入八個文本字段,都將存儲在myCustomClass中按下提交按鈕。從那裏,在第二個ViewController中,它將把八個輸入放到故事中並顯示在標籤上。
任何幫助表示讚賞,謝謝!
編輯:「提交按鈕」連接到我的故事書中的secondViewController,目的是「顯示」。
添加例外breakpoin t在Xcode中,讓我們知道問題發生的位置以及顯示的確切錯誤。可能是'prepare'中的多重'!'中的一個。 – shallowThought
還要將完整的錯誤消息添加到您的問題中,並使用調試器來逐步執行代碼。查找錯誤應該不超過1分鐘(如果您閱讀完整的錯誤消息並添加異常斷點,則應該立即生效)。 –