鍍金池/ 問答/iOS  網(wǎng)絡(luò)安全/ UITextField:用戶輸入append方法錯誤以及回答里的新問題無法傳值的

UITextField:用戶輸入append方法錯誤以及回答里的新問題無法傳值的問題

問題:在實現(xiàn)用戶輸入append方法時提示錯誤

試過的方法:
教程中是這樣寫:

圖片描述

報錯提示:
圖片描述

在群里提問

能把代碼截全部?
我說:也許不能 我是用的是做了一個結(jié)構(gòu),之后前面是var array [arraylist]() 中間還有一個等號
都不知道你這一行干啥的 怎么看
圖片描述

這個括號里面是跟一個格式化的字符串。
所以需要,分割 你這個寫的不對
類比于OC里面的format 所以你這個里面是個字符串 你可以寫 string(format)

aa.text ?? "" 兩個問號 x ?? y表示判斷x是否為nil,若不為nil,則將x解包后返回,否則,取y的值 空合運(yùn)算符

添加了解包:
圖片描述

這個apned方法里面只是一個string參數(shù) 你要把你要寫的搞成一個srting
你的結(jié)構(gòu)體定義了兩個屬性 那么就需要添加兩個內(nèi)容
append(a, b) append(aa.text ?? "" , "")

結(jié)構(gòu)體可以使用便利構(gòu)造 修改只要傳一個的

問的第二個人:

盡量用可選綁定解包 不要強(qiáng)制解包 容易crash append報錯是指數(shù)組? 截全 好像是類型不一致 后面是一個創(chuàng)建的結(jié)構(gòu) list
這個type后面是啥 這是你建的類? swift的數(shù)組只能接受同一類型的數(shù)據(jù) 好像是類型不一致 你這個數(shù)組只能接受List類型的數(shù)據(jù)
你append一個String類型的數(shù)據(jù)所以報錯 有哪些屬性
你可以把輸入的字符串 賦值給 willLearnList的屬性 然后appen一個List 類型 你可以自己重寫構(gòu)造方法
或者將結(jié)構(gòu)體的屬性設(shè)成 可選類型
回答
編輯回答
萌小萌

在這里可以給List設(shè)定一個變量。

let Cell = List(Label1: "text", Label2: "text", Label3: "text")
        
         Array.append(Cell)

之后顯示cell在數(shù)組里,數(shù)組為Tableview里。

目前的方法:

@IBAction func SaveButton(_ sender: Any) {
    
        let Cell = List(Label1: "text", Label2: "text", Label3: "text")
   
        Array.append(Cell)
   //確定分區(qū)的數(shù)量
   ···
    //確定每個分區(qū)中行的數(shù)量
   ···
    //顯示cell內(nèi)容
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for:indexPath) as! TableViewCell
                                                //復(fù)用cell在自定義Cell中定義的Identifier             //強(qiáng)制轉(zhuǎn)換為自定義的cell
        let List = WillLearnArray[indexPath.row]//將數(shù)據(jù)運(yùn)用于每行
        
       //在TableViewCell中l(wèi)abel為定義的結(jié)構(gòu):List里的label
       cell.Label1.text = List.Label1
       cell.Label2.text = List.Label2
       cell.Label3.text = List.Label3
       cell.Label4.text = List.Label4
       cell.Label5.text = List.Label5

問題:可以輸入但無法傳值

這里cell.LabelX.text = List.LabelX是否要修改為cell.cellX.text?
否則無法實現(xiàn)數(shù)據(jù)源顯示,還是需要prepareforSegue進(jìn)行VC的傳值的方法?

自己的回答

在這里記一下2月9日晚上實現(xiàn)了出現(xiàn)的方法,以及編輯排序和刪除行的方法。盡管string都是text。
依然很高興。
原來是沒有添加

func viewDidAppear(_ animated: Bool) {
                TableView.reloadData()
            }

方法。
現(xiàn)在打算還原這天成功的代碼,再次出現(xiàn)了無法傳值的現(xiàn)象。
先結(jié)束掉這個問題,在這里做一個備忘。

2017年9月12日 07:37