【问题标题】:Open view with object用对象打开视图
【发布时间】:2016-05-27 08:28:46
【问题描述】:

我有一个带有tableViewdidSelectRowAtIndexPath 方法的课程。我创建了 2 个对象发送到init。我想按对象更改 NSUSERDEFAULT。但是我的问题是:方法结束了,怎么再开一个view

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let indexPath = indexPath.row
    NSUserDefaults.standardUserDefaults().setInteger(indexPath, forKey:"INDEX")
    NSUserDefaults.standardUserDefaults().synchronize()

    if(posicionSegmented() == 0){
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "CARTERAEMPRESAS")
        let ficha = FichaEmpresa(estadoSegmented: true)
    }else{
        let ficha = FichaEmpresa(estadoSegmented: false)
        NSUserDefaults.standardUserDefaults().setBool(false, forKey: "CARTERAEMPRESAS")
    }

    //self.performSegueWithIdentifier("SegueFichaEmpresa", sender: self)
}

谢谢。

编辑

我必须更改发送我的布尔值的视图(和类)。

【问题讨论】:

  • 打开另一个视图是什么意思?
  • @Chajmz 我有 UITableView 的第一个视图,并希望打开另一个包含一些信息的视图
  • 你必须在故事板中创建一个标识符为SegueFichaEmpresa的segue
  • 所以你的观点是指另一个ViewController?如果这是您想要做的,您是否实现了 prepareForSegue 方法并在情节提要中添加了 segue 标识符?

标签: ios swift object init


【解决方案1】:

首先你必须为你的segue分配一个标识符。

self.performSegueWithIdentifier("youridentifier",sender: self)

然后

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "youridentifier" {
           let vc: NextViewControler = segue.destinationViewController
           vc.yourVar = ""
           //pass data
        }
    }

【讨论】:

  • 我在其他课程中的接收情况如何?
  • 我更新了你可以这样传递数据的答案
【解决方案2】:

这里的错误 'Receiver () has no segue with identifier 'SegueFichaEmpresa'' 表明您没有视图控制器的 segue 标识符。

在该视图控制器的标识符中提供 SegueFichaEmpresa。 然后调用

 self.performSegueWithIdentifier("SegueFichaEmpresa", sender: self

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多