看板 MacDev 關於我們 聯絡資訊
目前被這個問題卡了三天了... 我是用tableview cell內有放textfield給人輸入 但我的是dynamic cell會有2個section各有16個cell rows 要如何在按下Save紐時抓取全部的text值存進字典後,在上傳至firebase database? 目前找到的方法都會跳出error說有unwraping nil 查看後發現在再第11個cell必定crash... @IBAction func SaveBtn(_sender: UIBarButtonItem) { var dic:[String:String] = [:] for (i,bit) in BitArray.enumerated() { let cell = tableview.cellForRow(at:IndexPath(row: i,section: 0)) as! LabelNameTableCell dict[bit] = cell.txtName?.text ?? "" print(dict[bit]) } ....省略是WordArray } 類似像iphone內的設定 都會有可以讓人在做輸入的功能 看起來很簡單,實際要做才知道不是自己想像那樣...Orz 有人能提點小弟嗎 謝謝 mac版PPT不能複製貼上只好一個字一個字打... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.105.41.86 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1497859163.A.5D8.html
LFimi: 你畫面只顯示的出10個cell 所以抓不到第11個 06/19 16:58
LFimi: 可以在textFieldDidEndEditing就先把txtName存下來 06/19 17:00
G888888: 看起來像沒出現在畫面上的cell已經不見了 06/19 17:52
mick99988: 你好 能在詳細說明一下嗎? 剛入門...本來以為設定上 06/19 18:03
mick99988: 的textfield很簡單... 06/19 18:03
mick99988: 好像確實像你說的當我滑下去 第0個就不見然後就crash了 06/19 18:06
mick99988: .. 06/19 18:06
coastq46833: 一樓是指每填完一筆就會把資料記起來,textfieldDidE 06/19 19:48
coastq46833: ndEditing 可以告速你某個textfield資料填好了 06/19 19:48
mick99988: 這麼說好了 我會有32格cell 但並不是每格都需要填,是 06/19 20:54
mick99988: 隨使用者高興,如果沒填就是"" 這樣的設定會有問題嗎 06/19 20:54
mick99988: 還是說要做成static? 06/19 20:54
yoshilin: ios的tableView只保留顯示中的cell,值要另存在model 06/20 05:05
xpop777: 你要存的東西是 model,textfield 是 View,要先切開來 06/20 12:53
mick99988: 這邊還不是很懂... 版上有關鍵字嗎? 我查中文大多都只 06/20 13:47
mick99988: 教UItableviewController.. 06/20 13:47
otaku5566: 1.實作UITextFieldDelegate的protocol函式textFieldDid 06/20 20:22
otaku5566: EndEditing 06/20 20:22
otaku5566: 當你有設好delegate的UITextField結束編輯時會觸發此式 06/20 20:24
otaku5566: 2. 把撈到的欄位值存進字典檔 06/20 20:26
otaku5566: http://cms.35g.tw/coding/ios-uitextfield/ 網路範例 06/20 20:29
otaku5566: tableView小細節其實滿多,建議先拉16個TextField練習 06/20 20:34
mick99988: 好的 我先研究先 06/20 23:35
LFimi: 你要先理解table cell的reuse概念 06/21 14:23
LFimi: 就算你的table有100個cell, 但是畫面中只看得到10個 06/21 14:23
LFimi: 那實際存在的cell就只有大約10~12個 06/21 14:24
LFimi: 每次移動畫面,就會拿移出畫面的cell重新當作移到畫面的cell 06/21 14:25
LFimi: 所以你存資料不能在最後才一次拿全部的cell去讀資料 06/21 14:26
LFimi: 所以只能在cell的textField的資料一改變就立刻存下來 06/21 14:27