Как использовать протоколы Objective-C

Мне нужно наследовать выбранные Picker значения в другом месте. Я пытаюсь код ниже, но прибывает нулевое значение .. пожалуйста, проверьте, где я иду не так. Я должен наследовать строковые значения, которые были переданы вPickerView.. пожалуйста, проверьте код

Picker1.h

#import 

@protocol pickerDelegate 
-(void)didFinishPicking:(NSString *)pickedStr;

@end
@interface
@property(nonatomic,retain)iddelegate;

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 
#import "Picker1.h"
@interface Activity_1 : UIViewController{

@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];
}

Ответы на вопрос(2)

Ваш ответ на вопрос