Я новичок в Objective-C, и я пытаюсь создать приложение с двумя кнопками, которые включаются и выключаются в тандеме.Я обработал состояния кнопок (изображения для включения и выключения) в Interace Bulder, но у меня возникают проблемы с выяснением, как именно написать логику в Xcode.
Вот условия, которые мне нужно выполнить:
- Когда ни одна из кнопок не включена, любая из них может быть включена.
-Когда кнопка 1 включена, кнопка 2 нажата, кнопка 1 выключена, а кнопка 2 включена.
-Когда кнопка 2 включена, кнопка 1 нажата, кнопка 2 выключена и кнопка1. Включается 1.
- Когда кнопка 1 включена и кнопка 1 нажата, ничего не происходит.
- Когда кнопка 2 включена и кнопка 2 нажата, ничего не происходит.
Я использовал BOOL, чтобы попытаться выработать логику, но это просто не для меня.У кого-нибудь есть идеи, как это сделать?
Кнопки были добавлены программно, поэтому простой код выглядит так в файле .h:
в .h:
#import <UIKit/UIKit.h>
@interface Profile_Settings_PageViewController : UIViewController {
IBOutlet UIButton *Button1;
IBOutlet UIButton *Button2;
BOOL ButtonSelected;
}
@property (nonatomic, retain) UIButton *Button1;
@property (nonatomic, retain) UIButton *Buton2;
-(IBAction) ButtonTouched:(id)sender;
@end
затем файл .m:
#import "Profile_Settings_PageViewController.h"
@implementation Profile_Settings_PageViewController
@synthesize Button1;
@synthesize Button2;
-(IBAction) ButtonTouched:(id)sender
{
if (ButtonSelected == 0)
{
[Button1 setSelected: NO];
[Button2 setSelected: NO];
ButtonSelected = 1;
}
else if (ButtonSelected == 1)
{
[Button1 setSelected: YES];
[Button2 setSelected: YES];
ButtonSelected = 0;
}
}
- (void)viewDidLoad {
[super viewDidLoad];
ButtonSelected == 0;
}
- (void)dealloc {
[Button1 release];
[Button2 release];
[super dealloc];
}
@end
У меня проблема в том, где начинается выражение if.Я не уверен, как указать конкретные кнопки для логики.Я знаю, что там сейчас не правильно, потому что это относится к обеим кнопкам, и потому что логика неверна, что создает проблемы при написании условных операторов.Я не уверен, как это исправить, хотя ...