Tag: 赛格

多个赛段之间不传递对象数据

我已经开始了一个项目,最初完成遵循Appcoda的教程关于使用视图控制器在场景之间传递数据(在这里find它: http : //www.appcoda.com/storyboards-ios-tutorial-pass-data-between-view- controller-with-segue / ) 基本上来自第一个场景的表格数据,而segue连接到另一个显示配方图像,准备时间和配料的控制器。 不过,我想更进一步,并添加另一个视图控制器,将显示如何准备食谱的说明。 所以到目前为止运行是: 初始视图控制器(表格数据) – > recipeDetailViewController – > instructionsViewContoller 所以真的只有三个视图控制器,但都共享相同的数据。 我想在视图控制器之间共享的数据是配方数据,格式如下: Recipe *recipe1 = [Recipe new]; recipe1.name = @"Egg Benedict"; recipe1.prepTime = @"30 min"; recipe1.imageFile = @"egg_benedictl.jpg"; recipe1.ingredients = [NSArray arrayWithObjects:@"2 fresh English muffins", @"4 eggs", @"4 rashers of back bacon", @"2 egg yolks", @"1 tbsp of […]

通过UITableViewcell以unwind segues推送数据

我有一个push segue,我用它将数据从uitableview单元格传输到文本字段。 该应用程序的计划是,用户将数据input到文本字段,然后他们将点击一个button,它将模式继续到一个表视图控制器,然后他们将select一个可用的视图单元,它将被转回到原始视图他们已经将数据input到文本字段中,tableviewcell内容将被input到同一视图的不同文本字段中。 但我遇到的问题是数据正在从原始文本字段中删除,并且正在创build另一个视图。 所以现在,我试图使用unwind segue所以现在input的数据显示出来,但表视图单元格不像以前那样填充。 这里是推动数据的代码 – – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"showRecipeDetail"]) { NSIndexPath *indexPath = nil; Recipe *recipe = nil; if (self.searchDisplayController.active) { indexPath = [self.searchDisplayController.searchResultsTableView indexPathForSelectedRow]; recipe = [searchResults objectAtIndex:indexPath.row]; } else { indexPath = [self.tableView indexPathForSelectedRow]; recipe = [recipes objectAtIndex:indexPath.row]; } PersonDetailTVC *destViewController = segue.destinationViewController; destViewController.recipe = recipe; […]

iPhone 没有显示新的视图控制器

我已经遍布了整个谷歌,我似乎无法找出这一个。 这是我的场景: 我有我的应用程序的“主屏幕”,用户首先做出关于他们将要做的事情的决定。 该应用程序的CoreData数据库是由“导入”XML文件创build的。 用户可以select在应用程序中打开附加到电子邮件的XML文件,这会自动触发我的主屏幕显示并运行文件的导入。 我可以得到这个没有任何问题。 在我的故事板中,我有一个名为ParseSegue的Segue从我的主屏幕到一个视图控制器,它将处理parsing并给用户一些状态信息。 当通过电子邮件应用程序调用主屏幕时,主屏幕会自动调用 [self performSegueWithIdentifier:@"ParseSegue" sender:self]; 然后我在prepareForSegue中检查这个segue名字,这是一个有效的名字。 这是我将文件URL分配给parsing器控制器的地方,以便parsing正确的文件。 问题是segue从来没有真正发生。 prepareForSegue方法被调用,名称“ParseSegue”可以检查和有效,但segue本身根本不会发生。 如果我在主屏幕上添加一个button,并告诉它在故事板中执行segue,它可以正常工作。 但以编程方式调用它似乎什么都不做。

iOS以编程方式显示基于当前用户的视图控制器

我有一个PreferencesViewController显示有关当前用户的信息: 但这取决于当前的用户。 如果用户还没有login,我正在使用PreferencesViewController viewWillAppear方法触发LoginViewController继续: 如果用户尚未login并再次点击“ Preferences选项” Preferences卡,就会出现问题。 它将segue退回到PreferencesViewController ,导致意外的行为( PreferencesViewController应该只在用户login时呈现) 什么是解决这个问题的最好方法? 我正在使用的方法可以吗? 它可以更优化吗?

继续使用正确的标识符是行不通的

我search几乎所有相关的问题,但仍然无法find线索… 这是我做的: 1.使用故事板创build一个scrollView。 2.Programticaly在scrollViewController中创build了10个myController(它们是UITableViewControllers),所以我可以使用panGesture在表格之间切换。 它工作正常。 3.使用storyboard创build一个tableViewController,设置myController为相应的视图控制器。 4.在导航控制器中embeddedtableViewController。 5.控制从tableViewController拖动到一个新的视图控制器,以创build一个push segue。 6.在storyboard中设置segue标识符。 问题是: A.当试图继续programmaticaly:使用[self performSegueWithIdentifier:@"test" sender:self]; 在tableView:didSelectRowAtIndexPath:方法中。 例外显示所有的时间: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MyTableViewController: 0x8b413c0>) has no segue with identifier 'test'' B.比我尝试prepareForSegue:但它从来没有被称为。 C.我已经检查了segue标识符…根本没有问题。 这里发生了什么事??? 任何人有任何想法? 编辑: ScrollViewController和TableViewController分别在同一个故事板上创build。 他们之间没有连接/继续。 PIC更新。

什么是不推荐的推播? (iOS 8)

我不知道在这方面有什么废弃的手段。 我是编程新手,正在Xcode 6中创build我的第一对应用程序。今天,我正在做一个待办事项列表应用程序,当连接到用户可以input一个新的待办事项添加到主表的场景时,我被邀请使用push segue。 它提到它是不赞成的,它似乎没有在Xcode 5(这是版本教程使用)。 任何人都可以向我解释这个? 我知道push segue允许向后导航,但这就是我所知道的! 非常感谢。

按返回button执行继续

当我点击“返回”button时,我想执行继续。 为此我做: override func didMoveToParentViewController(parent: UIViewController?) { self.performSegueWithIdentifier("fromGalleryToBody", sender: self) } 但是当我点击返回button时它会崩溃我的应用程序。 我怎么能意识到这一点?

如何将重写函数插入到if语句中

我意识到,用基本的逻辑,我不能把重写函数放入if语句中,因为它会覆盖所有的东西。 但是,我仍然需要在if else语句中为segue做准备。 所以我工作的代码的方式是,如果用户点击一个button两次,他们赢得了游戏,因此去赢家视图控制器显示分数。 如果他们输了,他们会去看video控制器,没有得分。 所以我需要把重写函数segue在updateTimer() ,在else if counter < 9.9 && level == 2部分。 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let DestViewController : winViewController = segue.destination as! winViewController DestViewController.LebelText = labelx.text! } func updateTimer() { counter += 0.1 labelx.text = String(format: "%.1f", counter) if counter > 10 && level < 2 { […]

如何在swift中使用prepareForSegue?

我有一个名为BasicPhrasesVC tableview视图控制器,我想传递选定的单元格中的数据显示在下一个ViewController(称为BasicPhrasesVC)。 class BasicPhrasesVC: UIViewController, UITableViewDataSource, UITableViewDelegate { let basicPhrases = ["Hello.","Goodbye.","Yes.","No.","I don't understand.","Please?","Thank you.","I don't know."] var selectedBasicPhrase = "" func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return basicPhrases.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell")! […]

从另一个class表演继续

我正在尝试从NSObject类的不同类调用performSegueWithIdentifier,我收到此错误: 由于未捕获exception“NSInvalidArgumentException”而终止应用程序,原因是: 'Receiver (<DerinlikView: 0x95b1ac0>) has no segue with identifier 'DerinlikToPali'' 我的代码是: Class1(NSObject): DerinlikView *derinlik = [DerinlikView alloc]; [derinlik performSegue]; Class2(UIViewController): – (void) performSegue { [self performSegueWithIdentifier:@"DerinlikToPali" sender:self]; } – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ( [[segue identifier] isEqualToString:@"DerinlikToPali"] ) { Palinolojik *pali = segue.destinationViewController; } }