我需要将Picker选定的值继承到其他地方。我正在尝试下面的代码,但是null值即将到来。请检查我要出错的位置。 我必须继承被一直通过在PickerView
..please检查代码如何使用协议objective-c
Picker1.h
#import <UIKit/UIKit.h>
@protocol pickerDelegate <NSObject>
-(void)didFinishPicking:(NSString *)pickedStr;
@end
@interface
@property(nonatomic,retain)id<pickerDelegate>delegate;
picker.m
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
string=[NSString stringWithFormat:@"%@",[list objectAtIndex:row]];
label.text=string;
[self.delegate didFinishPicking:string];
}
- (void)viewDidLoad
{
[super viewDidLoad];
list =[[NSMutableArray alloc]init];
[list addObject:@"a"];
[list addObject:@"b"];
}
Acitivity_1字符串值.h
#import <UIKit/UIKit.h>
#import "Picker1.h"
@interface Activity_1 : UIViewController<UIApplicationDelegate, pickerDelegate>{
@property(nonatomic,retain)Picker1 *delegate1;
@property (nonatomic,retain)NSString *str;
@end
Activity_1.m
- (void)viewDidLoad
{
[super viewDidLoad];
**this is how i print the value but value is null**
NSLog(@"delegate1%@",self.delegate1.string);
delegate1 = [[Picker1 alloc] init];
[delegate1 setDelegate : self];
}
-(void)didFinishPicking:(NSString *)pickedStr
{
[self setStr:pickedStr];
}
请阅读有关[协议]的文档(http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html#//apple_ref/doc/uid/TP40007594-CH1 -SW1) –
雅我已阅读此..但你能让我知道我的代码在哪里错了 – Christien
尝试阅读有关[代表](http://developer.apple.com/library/ios/#documentation/General /Conceptual/CocoaEncyclopedia/DelegatesandDataSources/DelegatesandDataSources.html)以及然后 –