2012-01-26 11 views
0

私はチェックボックスであるios 4のチュートリアルからプログラムを作成しました。私はxcodeでiphoneのプログラムを始めている友人がいました。だから、私は彼に彼のコードを渡して、彼は始めることができます。彼はIOS4向けに作ったコードに従ってios5でコードを自分自身でやろうとしていました。彼は彼がうまくいかず、次のようにいくつかのエラーが出ていると私に伝え続けました。だから、私は自分のコードを開いて、それを私の更新されたxcodeで走らせた。 面白いのは、私が彼の家に着いたときで、私はコードを見て回って遊んだ。彼は正しかったです。新しいiosで新しいxcodeの新しいプロジェクトからコードを実行しようとすると、プロジェクトはあらゆる種類のエラーをスローします。私は一番下にいくつか投稿しました。initWithFrameはIOS 5で私のプロジェクトでは動作しませんでしたが、IOS 4でしました

私の質問はこれです...これはなぜですか? これは、ios5がARCと異なるプロパティを使用する方法と関係がありますか?アクション:forControlEvents見つからない(IDへの戻り値の型のデフォルト) - ( "ID" への戻り値の型のデフォルト)setImageForState見つからない

  • インスタンスメソッド - addTarget NSObjectのは、インスタンスメソッドinitWithFrame
  • を応答しないことがあり

    • MicheckBoxはinitWithFrame に応答しないことがありますと がcheckbox_tickeと呼ばれるものをPNG形式にしている次のようにいくつかのより多くの

    私のコードですd.pngとcheckbox_not_ticked.png

    micheckbox.h

    #import <UIKit/UIKit.h> 
    @interface MICheckBox : UIButton 
    { 
    BOOL isChecked; 
    } 
    @property (nonatomic,assign) BOOL isChecked; 
    -(IBAction) checkBoxClicked; 
    @end 
    

    micheckbox.m

    #import "MICheckBox.h" 
    @implementation MICheckBox 
    @synthesize isChecked; 
    - (id)initWithFrame:(CGRect)frame 
    { 
        if (self = [super initWithFrame:frame]) 
        { 
        [self setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"] forState:UIControlStateNormal]; 
    [self 
    addTarget:self action:@selector(checkBoxClicked)forControlEvents:UIControlEventTouchUpInside]; 
        } 
        return self; 
    } 
    -(IBAction) checkBoxClicked 
    { 
    if(self.isChecked ==NO) 
        { 
        self.isChecked =YES; 
        [self setImage:[UIImage imageNamed:@"checkbox_ticked.png"] forState:UIControlStateNormal]; 
    
        } 
        else 
         { 
          self.isChecked =NO; 
         [self setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"]forState:UIControlStateNormal]; 
         } 
    } 
    - (void)dealloc 
    { 
        [super dealloc]; 
    } 
    @end 
    

    MICheckBoxAppDelegate.h

    #import <UIKit/UIKit.h> 
    @interface MICheckBoxAppDelegate : NSObject <UIApplicationDelegate> 
    { 
        UIWindow *window; 
    } 
    @property (nonatomic, retain) IBOutlet UIWindow *window; 
    @end 
    

    MICheckBoxAppDelegate.m

    #import "MICheckBoxAppDelegate.h" 
    #import "MICheckBox.h" 
    @implementation MICheckBoxAppDelegate 
    @synthesize window; 
    - (void)applicationDidFinishLaunching:(UIApplication *)application 
    {  
        // Override point for customization after application launch 
        MICheckBox *checkBox =[[MICheckBox alloc]initWithFrame:CGRectMake(5, 80, 150, 30)]; 
        [checkBox setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
        [checkBox setTitle:@"Checkbox" forState:UIControlStateNormal]; 
        [window addSubview:checkBox]; 
        [window makeKeyAndVisible]; 
    } 
    - (void)dealloc 
    { 
        [window release]; 
        [super dealloc]; 
    } 
    @end 
    
  • +0

    これは、Xcodeがエラーのあるwonkoに行く時のようです。一般的に、 'Show issue Navigator'やCommand-4を見て、リストの一番上にあるエラー(赤色)を見たいとします。また、インポートのスペルミスをチェックしてください。これらのエラーは、「MICheckBox.h」ヘッダーが正しくインポートされていないことを示しています。しかし、もう一度最初のエラーをチェックしてください。 – NJones

    +0

    最初からコーディングしていた場合、私はあなたに同意します。しかし、それは昨年10月に私のプロジェクトから作った作業コピーです。それをxcodeの新しいプロジェクトに適用するだけで弾道になり、左右にエラーを投げ始めます。 Btw、ちょうどあなたの提案に答えるために、私はチェックし、すべてが輸入品と整然としたようだ。 – Jiraheta

    +0

    しかし、私は同意する...これは、xcodeがwonkoになるそれらの時間の一つです。 – Jiraheta

    答えて

    0

    MICheckBoxクラスのinitWithFrameで "return self"を忘れたと思います。

    +0

    そこに...ちょうどコードがあなたが言うことができないように見える方法。しかし、そこに。 – Jiraheta

    関連する問題