class NewCourseViewController: UIViewController {
@IBOutlet weak var courseNameTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
if segue.identifier == "newClassComplete" {
if let vcSendingToo = segue.destination as? CoursesTableViewController {
// Pass courseName to nameOfCourses Array
// Course Name
let courseName = courseNameTextField.text!
vcSendingToo.nameOfCourse = courseName
vcSendingToo.nameOfCourses.append(vcSendingToo.nameOfCourse)
}
class CoursesTableViewController: UITableViewController {
var nameOfCourses = [String]()
var nameOfCourse = ""
}
同じ配列に値を追加するのではなく、空の配列に再起動します。オンラインで問題の解決に役立つサンプルを見つけることができません。その後、停止したフィンを働いていたSUマイアレイが再起動して追加されない
'var nameOfCourses = [String]()' => 'var nameOfCourses = [String]'?私はSwiftを話しませんが、あなたのバージョンは新しい配列を作成しませんか?あるいは 'vcSendingToo.nameOfCourses'が存在し、そこに' nil'が存在しないかどうかをチェックしてください。その場合、 'append()'できないはずですから。 – Larme
誰かがあなたのコードを読んで、あなたを助ける方法を理解することは誰にも期待できません。あなたが達成しようとしていることをまず説明してください。投稿するコードは、あなたが説明した問題を解決しようとするべきです。 –
あなたは即座に '[String]()'で新しい配列を作成します – muescha