看板 MacDev 關於我們 聯絡資訊
在自學練習時依照課本上的程式碼 但是Xcode卻出現了錯誤 想請教板上高手給予指導 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cellIdentifier = "Cell" let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as UITableViewCell ^^^ // Configure the cell... cell.textLabel?.text = restaurantNames[indexPath.row] cell.imageView?.image = UIImage(named: "restaurant") return cell } Xcode建議我是不是要用as! 但是as!用了後沒出現問題但跑不出與範本一樣的結果... 想請高手給予一點指導>"< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.23.85 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1437454667.A.548.html
stweber2001: tableView.dequeueReusableCellWithIdentifier有可能 07/21 12:59
stweber2001: 回傳nil, 如果用as!程式就會死給你看 07/21 12:59
MIZUYAMA: 範本用as 但是實作時出現錯誤 檢查多次實在不知道哪裏錯 07/21 13:01
stweber2001: 你把錯誤貼上來可能會比較清楚一點 07/21 13:56
gradyzhuo: dequeueReusableCellWithIdentifier(cellIdentifier, f 07/21 15:36
gradyzhuo: orIndexPath: indexPath) 一定會有cell, 所以as! 沒問 07/21 15:37
gradyzhuo: 題,除非沒register reuse identifier 不過滿好奇是指 07/21 15:37
gradyzhuo: 怎樣的與預期不同? 07/21 15:37
MIZUYAMA: 這就是錯誤的程式碼= = 07/21 21:48
MIZUYAMA: Xcode是說as那出問題,執行後會說建立失敗......as!可以 07/21 21:52
MIZUYAMA: 但是會跟範例結果不同 07/21 21:52
gradyzhuo: 我是問跟範例結果不同是指什麼意思?因為as!是Swift 1. 07/22 01:31
gradyzhuo: 2 中改變的部分,在1.1之前是使用as 1.2之後改用as! 但 07/22 01:32
gradyzhuo: 跟程式運行沒有關係,也就是as!就是以前as,所以執行起 07/22 01:33
gradyzhuo: 來是會一樣的,除非你其他部分寫的跟範本不同。所以還 07/22 01:33
gradyzhuo: 是有Code會比較清楚。 07/22 01:34
感謝gradyzhuo大的說明 我後來乾脆在跑一次就解決了 當然也因為這次知道as與後來的as!是一樣的意思 至於第一次為什麼跑不出來我也搞不太懂= = 做法都沒有錯啊.... ※ 編輯: MIZUYAMA (61.228.23.85), 07/22/2015 11:00:35 ※ 編輯: MIZUYAMA (61.228.23.85), 07/22/2015 12:26:17
gradyzhuo: 有時Xcode+Swift會怪怪的 覺得有問題的話 Clean(cmd+sh 07/22 22:37
gradyzhuo: ift+k)一下 說不定就正常了 :p 07/22 22:37
gradyzhuo: 話說as和as!還是有一些些的不同 所以可以查一下差別在 07/23 01:24
gradyzhuo: 那~ 07/23 01:24