我想标记行,就像iPhone闹钟应用标签的警报名称一样。我不想要一个后退按钮。我只想传递我输入的任何文本以传递给MainViewController
。
我正在使用委托,但我不太确定将我的委托代码放在我的带有我的texfield的ViewController中。我有2个ViewControllers连接" show" Segue公司。一个有表格行,另一个有文本字段。
以下代码:
second.h (其中textfield是)
@protocol LabelNameDelegate <NSObject>
- (void)LabelNameEntered:(NSString*)labelName;
@end
@property(nonatomic, weak) id<LabelNameDelegate> delegate;
second.m
[self.delegate LabelNameEntered:self.myLabel.text];(not sure where to place it exactly)
first.h
@interface FirstTableViewController : UITableViewController<LabelNameDelegate>
first.m
- (void)LabelNameEntered:(NSString*)labelName{
NSLog(@"This is text from secondview: %@", labelName);
}
答案 0 :(得分:1)
如果我想完成这个任务,我会在我的文本字段视图控制器的.h文件中创建一个委托协议,然后创建我的文本字段视图控制器可以调用的方法让委托 - 这将是表视图的视图控制器 - 了解用户在文本字段中输入的内容。
编辑:此页面可帮助您了解如何创建自己的委托协议:How do I create delegates in Objective-C?
编辑:如果您尝试了这个并且无法使其正常工作,请发布一些代码,以便我们为您提供帮助。
答案 1 :(得分:0)
在 second.m 工具
中因此,每当textField完成编辑时,您都可以调用您拥有的代理
注意我不知道你为什么在这里有标签,不应该是文本字段吗?
[self.delegate LabelNameEntered:self.myLabel.text];
答案 2 :(得分:0)
我将代理代码放在以下方法中,它运行得很好。以下代码表示,关闭second viewController
后,将以下值传递给first viewController
。
<强> second.m 强>
- (void)viewWillDisappear:(BOOL)animated {
[self.delegate LabelNameEntered:self.myLabel.text];
}