如何在视图B中发送文本字段的内容以查看A?

时间:2012-01-16 09:20:12

标签: iphone objective-c xcode uitableview tableview

我在tableview A中创建了UIView A,其中tabledatasource来自A.m文件中定义的plist文件。 tableview中的条目是包含keyAkeyBkeyC等字典的字典。

现在我要在UIButton A中创建UIView和新的模态视图B.按下按钮时,会弹出模态视图B.在模态视图B中,将有一些UITextfields由用户填写。用户填写文本字段的信息将写入plist文件(如上所述),然后重新加载tableview A的内容。

我的问题是,用户在模态视图B中填写信息。但是表视图A在UIView A中。当我正在使用应用程序时,我似乎无法更改tableview A的内容modalview B?

如果我能通过视图B中输入的信息来查看A? 非常感谢。

3 个答案:

答案 0 :(得分:4)

使用自定义Protocals - 这称为委托模式

// ClassA.h

@interface : ClassA{
}
@end

ClassB.h

@protocol ClassBDelegate;

@interface :  ClassB{

    id <ClassBDelegate> delegate
}

@property(nonatomic,assign)   id <ClassBDelegate> delegate;
@end
@protocol ClassBDelegate <NSObject>

-(void)classB:(ClassB*)bclass param1:(NSString*)p1 param2:(NSString*)p2 param3:(NSString*)p3;

@end

将委托设置为ClassA - 接收器

按钮操作(在班级b中) 只是说

[self.delegate classB:self param1:@"Param1" param2:@"P2" param3:@"p3"];

答案 1 :(得分:1)

您通常使用委托模式来实现此行为。查看Apple文档中的示例iPhoneCoreDataRecipes。特别要看一下类

  • RecipeListTableViewController,您的表视图A将是
  • RecipeAddViewController,您获取信息的模态视图B

答案 2 :(得分:0)

我想我误解了你的问题。好的,就像sanjeev说你可以使用代表。或者您可以使用NSNotification。在视图A中添加通知观察者,在视图B中添加plist,发布通知。 See This Example