gpt4 book ai didi

iOS UiPickerView(-Helper) 应发送消息

转载 作者:行者123 更新时间:2023-11-29 04:06:47 25 4
gpt4 key购买 nike

我正在尝试做的事情:

我有一个ViewController:

@implementation ViewController
@synthesize myPicker;
@synthesize myPickerHelper;
@synthesize label;

#pragma mark - View lifecycle

- (void)viewDidLoad
{
[super viewDidLoad];
myPickerHelper = [[UIPickerViewHelper alloc]initWithUIPickerView:myPicker andNumberOfComponents:4];

[myPickerHelper.valuesForComponent1 addObject:@"TEST1"];
[myPickerHelper.valuesForComponent1 addObject:@"TEST2"];
;

[weightsPicker reloadAllComponents];
[weightsPicker selectRow:0 inComponent:0 animated:YES];
//TODO receive message from picker helper.
//label.text = ... set a listner (like that one in java) or what else
}

}

我有一个PickerViewHelper:(处理委托(delegate)和数据源问题)

@interface UIPickerViewHelper : NSObject <UIPickerViewDelegate, UIPickerViewDataSource, OnPickerViewChangeDelegate>

@implementation UIPickerViewHelper
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//TODO send message to controller view.
}

协议(protocol):

@protocol OnPickerViewChangeDelegate
@optional
-(void)onChange:(NSString*)result;
@end

我想要的是在我的 UiPickerViewHelper 类中使用协议(protocol)方法“onChange”,以便我的标签(在我的 ViewController 中)得到通知。我知道如何在 Java 中解决这个问题,但我不知道如何在 Objective C 中解决这个问题。

问候

最佳答案

UIPickerViewHelper.h

@property (nonatomic, assign) id <OnPickerViewChangeDelegate> delegate

UIPickerViewHelper.m

@synthesize delegate;

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//TODO send message to controller view.
[self.delegate onChange:[NSString stringWithFormat:@"Selected row %d", row]];
}

ViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
myPickerHelper = [[UIPickerViewHelper alloc]initWithUIPickerView:myPicker andNumberOfComponents:4];
myPickerHelper.delegate = self;

...
}

-(void)onChange:(NSString*)result {

NSLog(@"Here is the result: %@", result);
label.text = result;
}

关于iOS UiPickerView(-Helper) 应发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15068554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com