2017-04-13 72 views
1

我是一个新的快速程序员。 我正在用XCode Editor创建iOS智能手机的第一个应用程序。在这个应用程序中,我使用自定义单元格视图构建了一个TableView。如何修改iOS应用程序的TableView项目?

我也创建了一个细节视图来插入或修改此TableView的元素。

但是,这是情况:(TableView中)

enter image description here

如果我试着点击“+”按钮,我有这样的观点:

enter image description here

正如你可以看到我有命令“OK和Annulla”。还行吧。

相反,如果我尝试点击我的TableView的一个项目我有这个sitation:

enter image description here

正如你可以看到我看不到“确定,并为Annulla”按钮。我能解决这个问题吗?

这是我用来打开DetailsView控件的代码:

var luci = listaLuci[indexPath.row] 
var detailViewController : AggiungiLuceViewController = self.storyboard!.instantiateViewControllerWithIdentifier("AggiungiLuce") as! AggiungiLuceViewController 

detailViewController.nuovaLuce=luci 

self.presentViewController(detailViewController,animated:true, completion:nil) 

这是我detailViewCotnroller类的代码

override func viewDidLoad(){ 
    super.viewDidLoad() 
    self.textLuce.text = nuovaLuce?.nomeLuce 
} 

EDIT This is the code of the method:

@IBAction func tornaAllaLista(segue: UIStoryboardSegue){ 
     var vistaDettaglio: AggiungiLuceViewController = segue.sourceViewController as! AggiungiLuceViewController 
     if(vistaDettaglio.nuovaLuce != nil){ 
      self.listaLuci.append(vistaDettaglio.nuovaLuce!) 
      self.tabella.reloadData() 
     } 
    } 

这是打印:

enter image description here

+0

使用坐一(关系)导航控制器堆栈SEGUE而不是'instantiateViewController ...'这会自动推动导航控制器堆栈上的视图。 – vadian

回答

0

您呈现不在其自己的导航堆栈中的ViewController。 在Interface Builder中更改此行

self.presentViewController(detailViewController,animated:true, completion:nil) 

这个

self.navigationController?.pushViewController(detailViewController(), animated: true) 

这将推动detailViewController到你的tableview目前

+0

我尝试使用你的代码,而不是detailViewController()我用var var detailViewController。 现在,如果我尝试点击我的tableView的一个项目,我可以看到DetailView。如果我尝试点击“Annulla命令”,我可以看到TableView控制器,但是如果我尝试单击OK命令,则出现此错误: 致命错误:未打开时发现零,同时展开可选值 – bircastri

+0

显示代码Ok按钮调用。 – Devster101

+0

@ Devester101,我刚刚编辑了我原来的问题 – bircastri

相关问题