问题是,如果满足条件,我需要一种方法来基本上擦除用户放入我的数组中的所有条目数据。我是 Objective-C 和 iOS 编程的新手,但我相信解决方案可能是调用 viewDidLoad 方法,因此它实际上会使用重置为默认值的数组值刷新应用程序。如果有任何其他合乎逻辑的方法,我将不胜感激。
简而言之,我需要在应用程序首次启动并且用户没有选择任何内容时刷新数组。
这是我需要刷新的部分。
if ([gradeRecieved objectAtIndex:i]==nil) {
break; // if this condition is met the program must begin anew.
编辑* 我需要调用 - (void)viewDidLoad 方法
这是更多的代码。
-(IBAction)button:(id)sender{
double sum = 0;
int i = 0;
double gradeEarned=0;
double creditHours = 3;
while (i<8){
// [credits removeObjectIdenticalTo:[NSNull null]];
if ([credits count ] ==0) {
break;
}
if ([credits objectAtIndex:i] == radioButtonA) {
// [gradeRecieved replaceObjectAtIndex:i withObject:GradeA];
[defArray addObject:GradeA];
gradeEarned+=GradeA.intValue;
i++;
continue;
}
if ([credits objectAtIndex:i] == radioButtonB) {
// [gradeRecieved replaceObjectAtIndex:i withObject:GradeB];
[defArray addObject:GradeB];
gradeEarned+=GradeB.intValue;
i++;
continue;
}
if ([credits objectAtIndex:i]== radioButtonC){
// [gradeRecieved replaceObjectAtIndex:i withObject:GradeC];
[defArray addObject:GradeC];
gradeEarned+=GradeC.intValue;
i++;
continue;
}
if ([credits objectAtIndex: i] == defaulter) {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Custom button pressed" message:[NSString stringWithFormat:@"You pressed the custom button C"] delegate:self cancelButtonTitle:@"great"otherButtonTitles:nil];
[alert show];
[alert release];
[self viewDidLoad];
break;
}
}
if ([defArray count]>0) {
sum= ([defArray count])/(creditHours*gradeEarned);
NSLog(@"%f",sum);}
但是,如果用户单击按钮然后尝试重做一些选择,则此新代码会导致应用程序冻结