Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UITableView Swift 3.0中返回不同的视图_Ios_Uitableview_Swift3 - Fatal编程技术网

Ios 如何在UITableView Swift 3.0中返回不同的视图

Ios 如何在UITableView Swift 3.0中返回不同的视图,ios,uitableview,swift3,Ios,Uitableview,Swift3,我有一个带有一个部分的表视图,它由一个包含4个对象的数组填充。 我想在最后一行加载一个textfield,但我不知道如何在cellForRowAt indexPath:x)中返回两个不同的单元格。我可以创建两个原型单元格,给它们不同的标识符,但如果我使用If-else,则只会返回一个单元格 var options = [ Item(name:"Doorman",selected: false), Item(name:"Lockbox",selected: false),

我有一个带有一个部分的表视图,它由一个包含4个对象的数组填充。 我想在最后一行加载一个textfield,但我不知道如何在
cellForRowAt indexPath:x)
中返回两个不同的单元格。我可以创建两个原型单元格,给它们不同的标识符,但如果我使用
If-else
,则只会返回一个单元格

  var options = [
    Item(name:"Doorman",selected: false),
    Item(name:"Lockbox",selected: false),
    Item(name:"Hidden-Key",selected: false),
    Item(name:"Other",selected: false)
 ]

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return options.count
}   

func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}


 // configure the cell
 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
    -> UITableViewCell     {
        var cell: UITableViewCell
      if indexPath.row <= 4 {
     cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
        cell?.textLabel?.text = options[indexPath.row].name
        return cell!
        } else {
      cell = tableView.dequeueReusableCell(withIdentifier: "textField")
        return cell!

 }
var选项=[
项目(名称:“门卫”,所选:假),
项目(名称:“锁箱”,所选:假),
项目(名称:“隐藏密钥”,选中:false),
项目(名称:“其他”,所选:false)
]
func tableView(tableView:UITableView,numberofrowsinssection:Int)->Int{
返回选项。计数
}   
func numberOfSections(在tableView:UITableView中)->Int{
返回1
}
//配置单元格
func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)
->UITableViewCell{
变量单元格:UITableViewCell

如果indexPath.row您的想法是正确的,那么您使用的是两个不同的标识符,但我还看到您在选项中只有4个项

if indexPath.row <= 4 {

如果indexPath.row您的想法是正确的,您使用了两个不同的标识符,但是我还看到您在选项数组中只有4项。然后在cellForRowAt中,您有

if indexPath.row <= 4 {

如果indexPath.row这基本上是正确的,但我相信您必须将条件更改为<3,因为row是基于0的:)@Fahim您是对的,我更新了答案,谢谢you@Fahim我在.swift文件中为textField创建了一个UITableViewCell类,在该类中,我从IB连接了textField。在第二个文件中,我有一个
UIViewController:UITableViewcontroller
,我如何在这里引用上一节课中的文本字段,以便检查是否输入了文本?@bibscy这需要一些解释-注释字段不够长,我无法这样做。那么为什么不将carlos21的回答标记为“正确”这样他就可以得到学分,然后再问一个新问题?我会回答这个问题,告诉你如何做你想做的事…@bibscy会在我吃完早餐后看一看:)虽然有人可能会在这方面击败我…但不管怎样,你都会得到你的答案。这基本上是正确的,但我相信你必须将条件改为<3行是0-based:)@Fahim你说得对,我更新了答案,谢谢you@Fahim我已经在.swift文件中为textField创建了一个UITableViewCell类,在该类中,我从IB连接了textField。在第二个文件中,我有一个
UIViewController:UITableViewcontroller
,我如何引用上一个类中的textField,以便我可以检查文本是否输入了吗?@bibscy这需要一些解释-注释字段不够长,我无法这样做。那么为什么不将carlos21的答案标记为“正确”这样他就得到了荣誉,然后又问了一个新问题?我会回答这个问题,告诉你怎么做你想做的事…@bibscy会在我吃完早餐后看一看:)虽然有人可能会在这方面打败我…但不管怎样,你都会得到答案。