Tình hình là thế này, mình đang học xcode và thử làm một ứng dụng đơn giản đó là quản lý học sinh (thêm, xóa, sửa, xem danh sách sinh viên). Tuy nhiên hiện tại mình vướng chỗ chuyển dữ liệu giữa các màn hình. Mình biết có vài cách để chuyển tuy nhiên minh test thử với static listStudent trước cho nhanh. Sau khi add các student vào list thì vẫn OK, tuy nhiên khi chuyển sang màn hình khác thì gặp lỗi “signal sigabrt”(bỏ đoạn add student trong fuction của button add thì chuyển bình thường).
class Static{ public static var listStudent = [Student]()
}
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {var Sender:UserDefaults! var listClass:[String]! @IBOutlet weak var txtName: UITextField! @IBOutlet weak var pickerDate: UIDatePicker! @IBOutlet weak var pickerClass: UIPickerView! @IBOutlet weak var txtOther: UITextField! @IBAction func btnAdd(_ sender: UIButton) {//Add được vào list nhưng khi chuyển màn hình thì bị lỗi signal sigabrt let student = Student() student.Name = txtName.text! let dateFormatter = DateFormatter() dateFormatter.dateFormat = "dd/MM/yyyy" let dateString = dateFormatter.string(from: pickerDate.date) student.Birth = dateString student.Class = listClass[pickerClass.selectedRow(inComponent: 0)] student.Other = txtOther.text! Static.listStudent.append(student) txtName.text = "" txtOther.text = "" }
Mình đoán là các biến trong class đó khi chuyển màn hình thì bị hủy hết gây lỗi gì đó chăng? Ai biết nhờ giúp mình với, Mình cảm ơn
Project của mình dưới đây