ios – 我如何在放松中找出哪个segue称为目的地?

ios – 我如何在放松中找出哪个segue称为目的地?,第1张

概述我在WishlistVC(一个列出所有愿望清单的VC)中有一个放松的segue.现在,这个VC允许用户点击心愿单,如果它是空的,则调出EditWishlistItems VC,这样就可以选择要放入心愿单中的项目. WishlistVC还有另一个按钮,允许用户创建新的愿望清单,然后调用EditWishlistItems,以便用户可以将项目添加到新的愿望清单.这两者都是同一VC的不同段. 当我放松时, 我在WishListVC(一个列出所有愿望清单的VC)中有一个放松的segue.现在,这个VC允许用户点击心愿单,如果它是空的,则调出EditWishListItems VC,这样就可以选择要放入心愿单中的项目. WishListVC还有另一个按钮,允许用户创建新的愿望清单,然后调用EditWishListItems,以便用户可以将项目添加到新的愿望清单.这两者都是同一VC的不同段.

当我放松时,我想知道谁调用了EditWishListItems VC,即我在unwind segue中执行了哪个segue.如果它来自addItemsToWishList模态segue,那么我想将wishList添加到Core Data,如果它来自editWishListItems模态segue,我想编辑CD中的wishList项目.

当我放松时,有什么方法可以知道这些信息吗?

解决方法 我会通过添加一个属性来做到这一点

@property (nonatomic,strong) Nsstring *recentSegue;

然后创建

-(voID)addItemsToWishList:{     //business logic     self.recentSegue = @"addItems";    [self performSegueWithIDentifIEr:@"EditWishListItems" sender:self];}-(voID)editWishListItems:{    //business logic    self.recentSegue = @"editItems";    [self performSegueWithIDentifIEr:@"EditWishListItems" sender:self];}

然后将按钮链接到这些方法,而不是直接执行segues

最后

-(voID)vIEwDIDAppear:(BOol)animated {    [super vIEwDIDAppear:animated];     if(self.recentSegue){          if(self.recentSegue isEqualToString:@"addItems") {                //do Whatever          } else if(self.recentSegue isEqualToString:@"editItems") {                //do whatever else          }          self.recentSegue = nil;     }}

虽然这应该有效,但根据您的设计可能更好的另一种方法是让EditWishListItems直接处理coredata交互.

总结

以上是内存溢出为你收集整理的ios – 我如何在放松中找出哪个segue称为目的地?全部内容,希望文章能够帮你解决ios – 我如何在放松中找出哪个segue称为目的地?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1056758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存