【发布时间】:2011-12-26 12:41:18
【问题描述】:
I have a picker view,when the row component of a picker view is selected,it navigates to a view,there I have a button changeGroup.On clicking the button the picker view must appear,but it is not happening!崩溃了
这是我的代码:
- (void)viewDidLoad
{
groupArr = [[[NSMutableArray alloc]initWithObjects:@"Family",@"Friends",@"Office",@"Acquaintances", nil]autorelease];
agrpPicker.hidden = YES;
}
#pragma mark-
#pragma mark PickerView Datasource
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
int number = 0;
if (agrpPicker.hidden == NO)
{
number = 1;
}
return number;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
int count = 0;
if (agrpPicker.hidden == NO)
{
count = [self.groupArr count];
}
return count;
}
#pragma mark-
#pragma mark PickerView Delegate
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *str = [[[NSString alloc]init]autorelease];
if (agrpPicker.hidden == NO)
{
str = [self.groupArr objectAtIndex:row];
}
return str;
}
这是显示选择器视图的按钮的操作:
-(IBAction)groupButtonSelceted:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0, 200);
agrpPicker.transform = transfrom;
[UIView commitAnimations];
agrpPicker.hidden = [agrpPicker isHidden] ? NO : YES;
[self.view addSubview:agrpPicker];
}
将该选择器视图连接到 IB 中的选择器视图。
这是坠毁地点的屏幕截图
在控制台中,消息如下图所示:
哪位专家能指出我哪里出错了......
请帮我提出宝贵的建议,在此先感谢:)
对不起各位,我发现是什么错误,我没有在自动释放后保留数组,而不是:
groupArr = [[[NSMutableArray alloc]initWithObjects:@"Family",@"Friends",@"Office",@"Acquaintances", nil]autorelease];
是self.groupArr = ....;
感谢所有查看过的人和为解决问题做出贡献的人:)
【问题讨论】:
-
你能把崩溃日志也放在这里吗?
-
@rishi 是的 Rishi 先生,我已经放了一个快照以便清楚理解,请参阅编辑后的答案,提前谢谢:)
-
根据屏幕截图,这似乎是内存问题,引用了未分配的对象。控制台日志中是否也有任何内容?
-
控制台 Mr.Rishi 除了 (gdb) 没有任何内容
-
您能否分享您在应用程序中拥有的选择器视图的代码,代码本身有问题。
标签: iphone uipickerview ibaction