思想:在A对象里保存了一个B对象的指针,然后在A的某个函数里去设置B对象某个属性的值。
1、首先add aFile-- Objective-Cprotocol,然后声明一个传递数值的方法
@protocol ViewPassValueDelegate <NSObject>
-(void) passValue :( NSString *) value;
@end
2、在要发送数据的视图的.h文件下声明一个自定义的delegate
#import <UIKit/UIKit.h>
#import "ViewPassValueDelegate.h"
@interface ViewController : UIViewController{
NSObject<ViewPassValueDelegate> *delegte ;
}
- (IBAction)pressed:(id)sender;//主视图button点击出发的Action
@property (retain, nonatomic) IBOutlet UITextField *firstField;
@end
3、在要发送数据的视图的事件处理方法里声明一个secondViewController实例(接受数据),然后赋值给delegate,同时执行协议的 passValue方法
- (IBAction)pressed:(id)sender {
secondViewController *secondController = [[secondViewController alloc] init];//实例化一个视图2的对象
delegte = secondController;
[delegte passValue:firstField.text];
}
4、在接收数据视图(secondViewController).h文件实现自定义协议
@interface secondViewController : UIViewController<ViewPassValueDelegate>
5、在接收数据视图(secondViewController).m文件中实现协议中的passValue方法:
//<3>实现自定义delege的方法
-(void) passValue:(NSString *)value{
secondField.text= value;
NSLog(@"passValue method get Value : %@ secondField.text:%@",value,secondField.text);
}