私はiOS開発にかなり慣れていません。そして、本の第4章のチュートリアル演習「iOS5開発の開始」に続いて、コードでいくつかのコンパイルエラーが発生しました。
ヘッダーコードの.hファイルは次のようになります
#import <UIKit/UIKit.h>
@interface BIDViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *namefIELD;
@property (strong, nonatomic) IBOutlet UITextField *numberField;
@property (strong, nonatomic) IBOutlet UILabel *sliderLabel;
@property (strong, nonatomic) IBOutlet UISegmentedControl *leftSwitch;
@property (strong, nonatomic) IBOutlet UISegmentedControl *rightSwitch;
@property (strong, nonatomic) IBOutlet UIButton *doSomethingButton;
-(IBAction)textFieldDoneEditing:(id)sender;
//to initialize the 'done' button when editing to confirm you have finished editing/
-(IBAction) backgroundTap:(id)sender;
- (IBAction)sliderChanged:(id)sender;
- (IBAction)switchChanged:(id)sender;
- (IBAction)toggleControls:(id)sender;
- (IBAction)buttonPressed:(id)sender;
@end
これが私の.mコードで、「「UISegmentedControl」の表示された@interfaceがセレクター「setOn:animated;」を宣言していません」というエラーに直面しています。
@synthesize leftSwitch;
@synthesize rightSwitch;
- (IBAction)switchChanged:(id)sender {
UISwitch *whichSwitch = (UISwitch *)sender;
BOOL setting = whichSwitch.isOn;
[leftSwitch setOn: setting animated: YES]; //the error lies here/
[rightSwitch setO: setting animated: YES]; //the error lies here/
}
- (IBAction)toggleControls:(id)sender {
}
- (IBAction)buttonPressed:(id)sender {
}
@end
エラーステートメントは、「'UISegmentedControl'の表示された@interfaceがセレクター'setOn:animated;'を宣言していません。
plsの助け、それは高く評価され、投票されます:)
@PhilipMills ...これが私が話していることです。セグメント化されたコントロールオブジェクトの左側または右側をクリックするとすぐに、委任されたヘッダーコードにブレークポイントが自動的に作成されます。
#import <UIKit/UIKit.h>
#import "BIDAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([BIDAppDelegate class])); //the breakpoint appears here.
}
}