Objective c 为UIPickerView创建委托和数据源
我试图在一个单独的文件中为UIPickerView创建一个委托和一个数据源。在ViewController中,我有:Objective c 为UIPickerView创建委托和数据源,objective-c,delegates,uipickerview,uipickerviewdelegate,Objective C,Delegates,Uipickerview,Uipickerviewdelegate,我试图在一个单独的文件中为UIPickerView创建一个委托和一个数据源。在ViewController中,我有: - (void)viewDidLoad { [super viewDidLoad]; UIPickerView *myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)]; MonthPicker *monthPicker = [[MonthPick
- (void)viewDidLoad
{
[super viewDidLoad];
UIPickerView *myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)];
MonthPicker *monthPicker = [[MonthPicker alloc] init];
myPickerView.delegate = monthPicker;
myPickerView.dataSource = monthPicker;
myPickerView.showsSelectionIndicator = YES;
[self.view addSubview:myPickerView];
}
蒙斯皮克
#import <UIKit/UIKit.h>
@interface MonthPicker : NSObject<UIPickerViewDelegate,UIPickerViewDataSource>
@end
目前,我只使用占位符值来让代理工作。每次编译都正常,但当我运行应用程序并转到包含选择器的视图时,它会在控制台中崩溃,并显示0条错误消息
我得到的唯一消息是:线程1:EXC_BAD_ACCESS(代码=2,地址=0x0),但这对我没有任何帮助
我还尝试用NSLog覆盖委托中的dealloc方法,似乎在崩溃发生之前,它会被解除分配,我发现这非常奇怪
我错过了什么
谢谢。问题可能是在viewDidLoad方法结束时,monthPicker对象被释放
尝试将monthPicker改为一个属性,看看这是否有效问题可能是在viewDidLoad方法结束时,monthPicker对象被释放
尝试将monthPicker改为一个属性,看看这是否有效问题可能是在viewDidLoad方法结束时,monthPicker对象被释放
尝试将monthPicker改为一个属性,看看这是否有效问题可能是在viewDidLoad方法结束时,monthPicker对象被释放
试着把monthPicker变成一个财产,看看这是否有效这绝对是个问题。picker视图没有保留其委托/数据源,因此必须将其保留在其他位置。各位摇滚乐,非常感谢,它现在工作得非常好。这绝对是问题所在。picker视图没有保留其委托/数据源,因此必须将其保留在其他位置。各位摇滚乐,非常感谢,它现在工作得非常好。这绝对是问题所在。picker视图没有保留其委托/数据源,因此必须将其保留在其他位置。各位摇滚乐,非常感谢,它现在工作得非常好。这绝对是问题所在。picker视图没有保留它的委托/数据源,所以它必须保留在其他地方。你们太棒了,非常感谢,它现在工作得很好。
#import "MonthPicker.h"
@implementation MonthPicker
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return 7;
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return @"yyy";
}
@end