标签: segue

iOS - 我是否犯了一个愚蠢的if语句错误?我想我正在失去情节

在检查用户名和密码是否正确之后,我试图以编程方式在我的代码中触发segue(由于调试,此时只是用户名).当在语句之外时,segue会激活,并且调试表明用户名是'test',这是条件正在查找的内容,但是segue不会触发.

- (IBAction)loginButton:(id)sender {


NSString *username = usernameField.text;
NSString *password = passwordField.text;

if(username == @"test")
{
    [self performSegueWithIdentifier:@"loginSegue" sender:sender];
}
else{
    NSLog(@"NOT PERFORMING SEGUE! USERNAME: %@ -- PASSWORD: %@", username, password);
}


}
Run Code Online (Sandbox Code Playgroud)

xcode objective-c storyboard ios segue

0
推荐指数
1
解决办法
137
查看次数

iOS - 设置 - 模式Segue到表视图控制器

我想为iOS应用程序构建一个设置界面.

注意 - 这些设置通常会更改,所以我更喜欢设置界面应用程序而不是设置包

我的想法

  • 我喜欢模态 segue进入设置视图
  • 我的设置视图将是一个表格视图
  • 我更喜欢表视图是静态的(因为每个单元格可能会导致不同的视图)

问题:

  1. 模态视图中,似乎没有出现导航栏.我需要导航栏,以便我可以在其上创建一个"保存"按钮?

  2. 为了解决上面提到的问题,我创建了一个UIViewController来管理设置视图,并在UIViewController的视图下添加了一个导航栏和一个表视图(使用UITableViewController使导航栏与单元格一起滚动)

  3. 但是创建一个UIViewController不允许我创建一个包含静态内容的表

问题:

  1. 如何实现上述目标?
  2. 有没有更好的方法来设置屏幕?
  3. 是否更好地创建动态内容表并为不同类型的单元格(例如,带滑块/单元格的文本框等)提供不同的单元格标识符?

application-settings uitableview uiviewcontroller ios segue

0
推荐指数
1
解决办法
3447
查看次数

prepareForSegue:sender:永远不会被调用

我正在学习构建简单iOS应用程序教程.

我目前正在详细信息场景章节中显示信息.

最后它说我现在应该可以运行该应用程序了.但是,当我运行它并点击主uitableview中的一行时,它只是突出显示蓝色但不会偏离细节uitableview.

所以我在prepareForSegue:sender:方法中放了一个NSLog,它永远不会被调用.

另外,我不记得在按下一行时告诉Xcode(在故事板和任何代码中都没有).

我是否错过了教程的一部分或教程是否遗漏了什么?或者我在某个地方犯了一个愚蠢的错误?请帮我弄清楚如何激活segue.

提前致谢!

objective-c uitableview ios segue

0
推荐指数
1
解决办法
4923
查看次数

iOS:处理视图控制器并返回主屏幕的正确方法

我有一个登录屏幕,第二个屏幕和第三个屏幕.我想在第三个屏幕中有一个按钮返回登录屏幕并删除第二个和第三个屏幕的当前实例.

我所拥有的是从登录到第二个屏幕的推送segue和从第二个到第三个屏幕的推送segue.我在第三个屏幕的导航栏上放了一个条形按钮项目,并附加了一个模式segue返回到登录屏幕.点击后我得到一个空的新登录屏幕,这只是创建一个新的实例吗?如何删除以前的实例以便保存内存?在Android中,我们将标志传递给FLAG_ACTIVITY_CLEAR_TOP清除其他活动的意图.在iOS中有类似的东西吗?

ios segue

0
推荐指数
1
解决办法
1018
查看次数

ios swift:返回上一个视图控制器

从一个动态的tableView"CardSets"我做一个segue到一个静态的tableView"AddCardSet"来输入一些数据.在成功的save()方法之后,我想将用户发送回初始的tableView"CardSets".我怎样才能做到这一点?

我是否必须在save按钮上设置segue ?或者有更短的方式?

ios segue swift

0
推荐指数
1
解决办法
7795
查看次数

简单的segue在xcode 7中不起作用

使用此命令执行了几个月的简单segue:

[self performSegueWithIdentifier:@"ExpirationWarningSegue" sender:self];
Run Code Online (Sandbox Code Playgroud)

现在产生这个错误:

***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法执行带有标识符'expirationWarningSegue'的segue.segue必须有一个performHandler,或者它必须覆盖-perform.

什么?这是一个骗局.我UIViewController在故事板中命令 - 从一个拖到另一个.我不是为此编写代码.segue在故事板中使用此确切标识符定义.

为什么现在我已经升级到xcode 7时曾经工作得很好?

objective-c ios segue

0
推荐指数
1
解决办法
2414
查看次数

Swift-使用单例共享变量-不传递

所以这真令人沮丧。我正在尝试使用单例传递字符串变量,但它没有在第二个UIViewController上传递。

Singleton.swift

class CardName {

var cardName : String = ""

class var sharedInstance : CardName {
    struct Static {
        static let instance : CardName = CardName()
    }
    return Static.instance
}

var returnedCardName : String {
    get{
        return self.cardName
    }

    set {
        self.cardName = newValue
    }
}}
Run Code Online (Sandbox Code Playgroud)

查看1:

CardName.sharedInstance.returnedCardName = "Single pass test"

print("Shared instance name set: \(CardName.sharedInstance.returnedCardName)")
Run Code Online (Sandbox Code Playgroud)

print()成功显示了正确设置的字符串。

查看2:

let card_name_shared = CardName.sharedInstance

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

    card_Name = card_name_shared.returnedCardName
    print("Passed Card Name: \(self.card_name_shared.returnedCardName)")

}
Run Code Online (Sandbox Code Playgroud)

查看2个print()结果: …

singleton segue swift

0
推荐指数
1
解决办法
3610
查看次数

使用performSegueWithIdentifier()将撇号添加到标识符

我想从一个viewController跳到另一个.我一直在使用performSegueWithIdentifier,它适用于所有viewControllers期望的一个.每次应用程序尝试执行segue时都会显示以下错误:

2016-08-21 15:04:29.170入职[44226:2490189]***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'Receiver()没有标识符'gogo''的segue

我在segue中的标识符是"gogo".在我的代码中我使用:

self.performSegueWithIdentifier("gogo", sender: self)
Run Code Online (Sandbox Code Playgroud)

如果你仔细查看错误消息,我注意到Xcode在标识符中添加了一个撇号.打印'gogo''而不是'gogo'.为什么会这样?

xcode ios segue swift

0
推荐指数
1
解决办法
78
查看次数

如何停止跳转下一个视图控制器?(迅速)

我使用SEGUE从一个发送数据viewControllerdestinationViewController.我设置按钮并使用push segue连接到下一个视图控制器.在第一个视图中,我设置了一个布尔值来检查图像是否为空.如果有空,则会弹出警报提醒用户.如果成功,它会将图像发送到下一个视图控制器.

虽然我可以传输图像并弹出警报,但如果有空的话,它也会跳转到下一个视图控制器.此外,跳转到下一个视图控制器后,而不是在第一个视图控制器中弹出警报

现在,这是代码

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if Jumpsuit.isHidden == false && self.Hair.image != nil && self.Jumpsuit.image != nil && self.Shoes.image != nil {

        let DestViewController : ChooseBGViewController = segue.destination as! ChooseBGViewController

        DestViewController.imgHair = Hair.image
        DestViewController.imgJumpsuit = Jumpsuit.image
        DestViewController.imgShoes = Shoes.image
        DestViewController.dressingtype = 1
    } else if Jumpsuit.isHidden == false && self.Hair.image == nil || self.Jumpsuit.image == nil || self.Shoes.image == nil {
        let alert = UIAlertView()
        alert.title = "No Image" …
Run Code Online (Sandbox Code Playgroud)

ios segue uistoryboardsegue swift swift3

0
推荐指数
1
解决办法
1043
查看次数

performSegue(withIdentifier .......)无效

长话短说,我的segue无法执行到我已创建的下一个控制器.很多帮助将不胜感激.

    override func viewDidLoad() {
        super.viewDidLoad()


        var returnValue: Int = UserDefaults.standard.integer(forKey: "quiz1Validation")
        if (returnValue == 1)
        {
            performSegue(withIdentifier: "completed", sender: self)
        }
        else {
        var returnValue: Int = UserDefaults.standard.integer(forKey: "userScore")
        scorelabel.text = "Score:\(returnValue)"
        RandomQuestions()
    }

}
Run Code Online (Sandbox Code Playgroud)

ios segue swift

0
推荐指数
1
解决办法
901
查看次数