2017-01-24 24 views
0
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 = "" 



} 

它重新啓動爲空數組,而不是將數值添加到同一數組。我無法找到任何可以幫助解決問題的在線示例。這是工作鰭,然後停止了所有的蘇我的陣列重新啓動而不是追加

+0

var nameOfCourses = [String]()'=>'var nameOfCourses = [String]'?我不會說Swift,但是你的版本不會創建一個新的數組?或者檢查'vcSendingToo.nameOfCourses'是否存在並且不存在'nil',因爲在這種情況下你不能'append()'。 – Larme

+2

你不能期望任何人只是讀你的代碼,並找出如何幫助你。請首先描述你想達到的目標。你發佈的代碼應該是你試圖解決你描述的問題。 –

+0

在swift中用'[String]()'創建一個新數組'' – muescha

回答

0

您曾經試圖改變這一行

let courseName = courseNameTextField.text! 
vcSendingToo.nameOfCourse = courseName 
vcSendingToo.nameOfCourses.append(vcSendingToo.nameOfCourse) 

這樣做呢?

let courseName = courseNameTextField.text ?? "" //validate for nil 
vcSendingToo.nameOfCourse = courseName 
vcSendingToo.nameOfCourses = [courseName] 
-3

我做了全局變量並刪除了「vcSendingToo」屬性。

+0

這是非常非常糟糕的設計。它使事物非面向對象。 'nameOfCourses'是'CoursesTableViewController'的一個屬性,它應該以相同的方式處理。 – Honey

相關問題