我有一个xib,我在其中添加了一个名为delta的UIViewController
。 delta下的视图由delta视图控制器控制,而不是文件所有者。在三角洲视图,我有一个UIViewPicker
。我的问题是,我在编程UIPickerView
的deltaviewcontroller
,我发行deltaviewcontroller
作为UIPickerView
的代表和数据源。一切都应该工作,但是当我加载deltaviewcontroller的视图时,应用程序崩溃。如果我在文件的所有者视图下以相同的方式执行所有操作,则它可以正常工作。我想知道是否有一种方法可以使UIPickerView与UIViewController
一起工作,并且不一定是文件的所有者。UIViewController中的iPhone UIPickerView
对于引用,代码:
页眉
@interface DeltaViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> {
NSMutableArray *arrayNo;
IBOutlet UIPickerView *pickerView;
}
@property (nonatomic, retain) UIPickerView *pickerView;
@property (nonatomic, retain) NSMutableArray *arrayNo;
@end
实施
#import "DeltaViewController.h"
@implementation DeltaViewController
@synthesize pickerView;
@synthesize arrayNo;
- (void)viewDidLoad
{
NSMutableArray *dollarsArray = [[NSMutableArray alloc] init];
for (int i = 0; i < 100; i++)
{
NSString *item = [[NSString alloc] initWithFormat:@"%i", i];
[dollarsArray addObject:item];
}
self.arrayNo = dollarsArray;
[dollarsArray release];
}
#pragma mark -
#pragma mark Picker Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [arrayNo count];
}
#pragma mark Picker Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [arrayNo objectAtIndex:row];
}
- (void)dealloc {
[arrayNo release];
[pickerView release];
[super dealloc];
}
@end
请指出,如果我做错什么。非常感谢帮助。
除了您泄漏“item”字符串之外,此代码看起来不错。你遇到的实际崩溃/异常是什么?你能描述并显示加载/显示delta视图控制器的代码吗? – gerry3 2010-02-12 07:09:04
从运行菜单打开控制台并告诉我们您收到的错误 – willcodejavaforfood 2010-02-12 09:05:19
您收到了什么崩溃? – kennytm 2010-02-12 11:24:12