Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.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 如何获取在prepareForSegue中启动segue的按钮?_Ios_Objective C_Cocoa Touch_Segue - Fatal编程技术网

Ios 如何获取在prepareForSegue中启动segue的按钮?

Ios 如何获取在prepareForSegue中启动segue的按钮?,ios,objective-c,cocoa-touch,segue,Ios,Objective C,Cocoa Touch,Segue,我想使用启动segue的按钮的标题作为出现的视图的标题。有没有办法把那个按钮放在prepareForSegue里?否则,我必须为这件事声明一个不必要的IBOutlet 我使用的是最新的XCode、6 beta 7和iOS 8(还有Swift,虽然这都是cocoa touch,所以ObjC中的答案很好)。PrepareForsgue有以下特征: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender sender将

我想使用启动segue的按钮的标题作为出现的视图的标题。有没有办法把那个按钮放在prepareForSegue里?否则,我必须为这件事声明一个不必要的IBOutlet


我使用的是最新的XCode、6 beta 7和iOS 8(还有Swift,虽然这都是cocoa touch,所以ObjC中的答案很好)。

PrepareForsgue有以下特征:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

sender
将是用户点击的UI按钮

沙的回答是正确的。以下是我在Swift中使用的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "MySegue" {
            if let myVC = segue.destinationViewController as? MyViewController {
                if let usender:AnyObject = sender {
                    if let button = usender as? UIButton {
                        myVC.title = button.titleForState(.Normal)
                    }

                }
            }
        }
    }
然后我注意到新签名有AnyObject!,所以我把它改成:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if segue.identifier == "MySegue" {
        if let myVC = segue.destinationViewController as? MyViewController {
            if let button = sender as? UIButton {
                    myVC.title = button.titleForState(.Normal)
            }

        }
    }
}

谢谢这确实奏效,但在swift中有点麻烦。