我想从我的viewcontroller 2使用协议和委托推送一个字符串文本到viewcontroller 1。我对这种传递数据的方法很陌生,所以如果我以任何方式看起来无知,请原谅我。字符串颜色总是返回null。我会后我到目前为止,代码,如果有帮助,即时通讯使用的导航控制器,并使用导航后退按钮从视图控制器2的ViewController 1.使用协议和委托在视图控制器之间传递数据
视图控制器2
.H
@protocol PassString <NSObject>
@required
- (void) setSecondFavoriteColor:(NSString *)string;
@end
@interface ViewController2 : UIViewController{
UIButton *button;
NSString *ee
id <PassString> delegate;
}
@property (retain) id delegate;
的ViewController 2
的.m
@synthesize delegate;
-(void)button{
ee = @"Blue Color";
[[self delegate] setSecondFavoriteColor:ee];
的ViewController 1.H
@interface ViewController1 : UIViewController <PassString>{
NSString*color;
}
@property (strong,nonatomic) NSString *color
的ViewController 1.M
- (void)setSecondFavoriteColor:(NSString *)string
{
color = string;
NSLog(@"%@",color);
}
我做了,如果我没有,我甚至不会让它成为新的。我必须以某种方式使用protcol和代表在视图控制器之间传递它。 –
可能你忘了设置ViewController2.delegate = Viewcontroller1 – bhawesh
为什么你必须这样做“某种方式”?这是为了上课吗? –