如何在警报应用程序中标记其警报名称的方式标记行?

时间:2014-11-21 17:00:51

标签: ios objective-c uitableview delegates

我想标记行,就像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);
}

3 个答案:

答案 0 :(得分:1)

如果我想完成这个任务,我会在我的文本字段视图控制器的.h文件中创建一个委托协议,然后创建我的文本字段视图控制器可以调用的方法让委托 - 这将是表视图的视图控制器 - 了解用户在文本字段中输入的内容。

编辑:此页面可帮助您了解如何创建自己的委托协议:How do I create delegates in Objective-C?

编辑:如果您尝试了这个并且无法使其正常工作,请发布一些代码,以便我们为您提供帮助。

答案 1 :(得分:0)

second.m 工具

- textFieldDidBeginEditing:

因此,每当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];
}