2016-02-08 49 views
0

我剛開始學習swift ios開發。我遇到了這個我無法解決的問題。有人可以告訴我做錯了什麼嗎?下面的圖片包含錯誤的屏幕截圖。Swift:無法爲'Array'類型的值下標

class ViewController: UIViewController { 

    @IBOutlet weak var tableView: UITableView! 
    @IBOutlet weak var dayPicker: UIPickerView! 
    @IBOutlet weak var addButton: UIButton! 
    @IBOutlet weak var textField: UITextField! 
    let days = ["Sunday","Monday","Tuesday","Thursday","Friday","Saturday"] 
    // creates an array of 7 empty arrays 
    var tableData:Array = [[String]] (count: 7,repeatedValue:[]) 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
    @IBAction func addObjectToTable(sender: AnyObject) { 
     if(textField.text != "") 
     { 
      print (days[dayPicker.selectedRowInComponent(0)]) 
      print (textField.text!) 
      tableData[dayPicker.selectedRowInComponent(0)].append(textField.text!); // Error: Cannot subscript a value of type 'Array' 
      textField.text = "" 
      tableView.reloadData() 
     } 
    } 
} 

Screenshot

謝謝!

+0

請將您的代碼發佈在答案中,而不是截圖。它看起來像你試圖追加一個字符串到一個數組數組......你可以追加一個數組到數組中,但是你不能把一個字符串追加到一個包含數組的數組中。 – MikeG

+0

添加了代碼。你能否請我在我的代碼中需要更改什麼? – Retr0spect

+0

請指定你正在嘗試做什麼 – Johnykutty

回答

2

我只記得當我回到一些有些過時的舊項目時,我遇到了這個問題幾次。對我來說,修復是簡單地改變,在你的榜樣,

var tableData:Array = [[String]]

var tableData = [[String]] 
+0

這工作完美。非常感謝! – Retr0spect

0

如果您是確保實現代碼如下將只包含天嘗試強制轉換AnyObject的對象數組來字符串數組。然後使用它。

var day= self.objects![indexPath.row] as! String 
相關問題