Приложение, которое я делаю, использует несколько представлений. например, представление отказа от ответственности, представление для отображения ответа и т. д. До сих пор это код, который я использовал для переключения с одного представления на другое.
-(IBAction)swichtogain:(id)sender{
gainview *second = [[gainview alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:second animated:YES];
[second release];
}
Я нашел этот метод в учебнике, мне было интересно, это лучший способ сделать это? Я использую тот же код, чтобы переключаться с одного вида на другой, например.
-(IBAction)swichtoview1:(id)sender{
view1 *view = [[gainview alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:view animated:YES];
[view release];
}
и когда в представлении1, если пользователь нажимает кнопку «Назад», выполняется следующий код
-(IBAction)swichtomainview:(id)sender{
mainview *view = [[gainview alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:view animated:YES];
[view release];
}
Я ничего не редактировал в файлах appdelegate, и это приложение на основе представления. Заставляет ли этот метод использовать больше памяти? Во время теста монитора активности с использованием инструментов я заметил, что использование памяти увеличивается каждый раз, когда я перехожу из главного меню в другое представление и возвращаюсь в главное меню! Есть ли лучший способ, чем этот? Также одним из представлений является калькулятор, поэтому, когда пользователь нажимает кнопку расчета, он переключается на следующее представление, изменяя текстовое поле на ответ, ниже приведен код для этого!
-(IBAction)calculate{
MyClass *setnum = [[MyClass alloc]init];
setnum.grade_num = grade;
setnum.stage_num = stage;
setnum.ex_lym = ex_ly;
setnum.pos_lym = pos_ly;
setnum.er_num = er;
setnum.noderatio = pos_ly/ex_ly;
if(text1.text.length <=0 ||text2.text.length <=0||text3.text.length<=0||text4.text.length<=0||text5.text.length <=0){
UIActionSheet *action = [[UIActionSheet alloc]initWithTitle:@"Incomplete Values" delegate:self cancelButtonTitle:@"Ok" destructiveButtonTitle:nil otherButtonTitles:nil];
[action showInView:self.view];
[action release];
}else{
answer *ans =[[answer alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:ans animated:YES];
float i = calc_gain(setnum.grade_num, setnum.noderatio, setnum.stage_num, setnum.er_num);
NSString *result = [NSString stringWithFormat:@"%f",i];
ans.answer1.text = result;
ans.bar.hidden = NO;
[ans release];
}
[setnum release];
}