- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我从 UIButton 发送一个字符串到我的下一个 UITtableviewcontroller,该字符串是 UIButton 标题(星期一 ... 星期日)该字符串被 NSPredicate 使用以按天过滤我的表信息。
@property (nonatomic, weak) NSString *dayOTW;
- (IBAction)selectDay:(UIButton *)sender {
UIButton *dayW = sender;
dayOTW = dayW.titleLabel.text;
NSLog(@"button press = %@", dayOTW);
}
2012-05-01 06:23:21.731 passingdata[99957:fb03] button press = Monday
然后转到我的下一个屏幕
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"SendWeekDay"])
{
// Get reference to the destination view controller
ViewController *vc = [segue destinationViewController];
// Pass any objects to the view controller here, like...
vc.dayOTW = dayOTW;
}
}
我第一次选择该按钮时,我的表格中没有显示任何信息,如果我返回并再次选择该按钮,我的表格会显示当天的正确信息。
我做错了什么?
还有一个与上述相关的问题。我有 7 个 UIButtons,一周中的每一天一个,如何通过一个 segue 从所有 UIButtons 中分离出来?
谢谢
最佳答案
segue 在您的 IBAction 方法之前被调用,因此您第一次单击它时不会设置该变量。
如果 segue 连接到您的按钮,那么它将是 prepareForSegue 中的 sender
,因此您实际上并不需要 action 方法。只需在 prepareForSegue 中获取标题即可:
UIButton *dayButton = (UIButton*)sender
vc.dayOTW = sender.titleLabel.text;
要将相同的 segue 连接到所有按钮,您必须从每个按钮按住 ctrl 并拖动,但为所有 segues 提供相同的标识符。这在 Storyboard上看起来很乱,所以另一种方法是直接从源 View Controller 创建一个 segue,并在操作方法中(在这种情况下你需要它,并将连接到你所有的按钮)调用 performSegueWithIdentifier:发件人:
:
-(IBAction)dayButtonPressed:(UIButton*)sender
{
[self performSegueWithIdentifier:@"SendWeekDay" sender:sender];
}
这会将按钮作为发送方传递给 performSegue
方法,因此您可以使用上面概述的代码。
关于ios - 如何使用 prepareForSegue 从 UIButton 传递字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393937/
我正在使用模板主从应用程序。我从 SplitViewController 添加了一个模态 segue,并为其指定了标识符“DisplayLoginView”。 我从我的 detailViewContr
我很好奇这个方法 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender; 我在 UIViewController.h
我有一个 UINavigationController有一个 UITableview装在里面。里面这个UITableView我有一个 prototype细胞,我用静态数据重用了几次,这些数据永远不会改
我要函数,它们都触发performSegueWithIdentifier以同样的方式。但是根据调用哪个函数,我需要在 prepareForSegue 中传递不同的参数. 就像是 func first(
我已经有一段时间没有进行任何 iOS 编程了,所以请原谅我这个简单的问题。我已经搜索过了,也许我只是想多了。 我有一个名为 ShowStreamDetails 的 segue,将动态原型(protot
当我通过prepareForSegue将数据从FirstViewController传递到SecondViewController( TableView )时,我在secondViewControll
我的应用有核心数据和两个 View CoursesTableViewController 和 DetailViewController。 如果用户点击 Detail Disclosure 按钮转到 D
我有一个带有嵌入式导航 Controller 的 Storyboard (xcode5)(导航 Controller 指向我的主视图 Controller )。 我已经为我想通过我的代码打开的新 Vi
我的应用程序有一个非常奇怪的问题。我在我的应用程序中使用 AFNetworking 框架。我正在加载一些带有图像的提要,然后单击操作打开带有详细描述和大图像的新 View 。所以我将 IdPhoto
我设置了一个 View ,用户可以在其中选择一张照片,然后将其用作个人资料照片。一旦他们选择了图像,就应该更新 UIImageView 。我使用 prepareForSegue 方法将信息传递给包含
我有以下 3 种使用 Storyboard的方法,其中我有一个从“查看电影信息”按钮到下一个 View 的“segue”连接。标识符是“web” 当我单击按钮时,我调用此方法:(IBAction)sy
在我的应用程序中有一个 UITableView 显示 Core Data 对象。当用户点击一行时,必须显示所选对象的详细 View 。详细 View 在 EditToDoItemViewControl
我正在使用模态转场将数据从 SignUpViewController 传递到 RAVerificationViewController。出于某种原因,我的姓名、密码、电话和电子邮件值为零,但宿舍和角色
我确定我有两个 View Controller ,它们有适当的文件作为它们的类。 (ViewController1.swift 和 ViewController2.swift)我试图使用以下代码将数据
我在使用 prepareforSegue 的 View Controller 之间传递字符串 (StringVar) 时遇到问题。我已经研究了关于这个主题的各种教程,但我仍然没有成功(我是新手,所以问
我使用 prepareForSegue 方法将 location_id 从 LocationTableViewController 传递到 BeerTableViewController,以便在点击位
我正在使用 SWRevealViewController 构建侧边栏菜单。从菜单(UITableView)中选择一个元素时,我有选择正确 Controller 的方法。 segue 标识符/名称在 S
我正在从 Storyboard的世界转向没有 Storyboard的世界。我想知道在这种情况下如何实现 prepareForSegue 方法。因为此方法使用 segue 标识符,而我知道提供 segu
我想在 prepareForSegue 中运行一些代码。问题是我正在以编程方式更改 View ,因此未运行 prepareForSegue 函数。我也不知道如何运行它,因为我不能给它一个标识符。 准备
我正在制作一个表格 View ,其中包含 channel ,用户可以点击该 channel 进入该 channel 。当用户点击该 channel 时,我想从 firebase 获取 channel
我是一名优秀的程序员,十分优秀!