2012-04-09 11 views
1

私はobjective-cでプログラミングを探求し始めており、コマンドラインツールのコードをいくつか書きました。それは動作しますが、今はCocoaアプリケーションで書き直そうとしていますが、いくつか問題があります。これは、単一ラインツールの作業コードです:コマンドラインツールからココアアプリケーションへ

//Formattazione delle date preimpostate 
    NSDateFormatter *formatoData = [[NSDateFormatter alloc] init]; 
    [formatoData setDateFormat:@"dd/MM/yyyy"]; 

    //Definizione della data di inizio e della data di fine 
    NSDate * dataInizio = [formatoData dateFromString:datePicker]; 

    //Risultato 
    NSString *risultato=[dataInizio descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil]; 

    //Output 
    NSLog(@"Il giorno impostato è %@", risultato); 

Cocoaアプリケーションを作成するために、私はVisualizzaClasseと呼ばれるObjective-Cのクラスを作成しました。 VisualizzaClasse.h:

#import <Foundation/Foundation.h> 

@interface VisualizzaClasse : NSObject 
{ 
    IBOutlet NSDatePicker *datePicker; 
    IBOutlet NSTextView *textView;} 
- (IBAction)mostraRisultato:(id)sender; 

@end 

VisualizzaClasse.m:

#import "VisualizzaClasse.h" 

@implementation VisualizzaClasse 

- (IBAction)mostraRisultato:(id)sender; 
{ 
    //Formattazione delle date preimpostate 

     NSDateFormatter *formatoData = [[NSDateFormatter alloc] init]; 
     [formatoData setDateFormat:@"dd/MM/yyyy"]; 
     //Definizione della data di inizio e della data di fine 
    NSDate * dataInizio = [formatoData dateFromString:datePicker]; 

     //Risultato 
     NSString *risultato=[dataInizio descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil]; 

    [textView insertText:[NSString stringWithFormat:@"%@ \n", risultato]]; 
} 


@end 

インターフェースは日付ピッカー、のTextViewとbutton.Iによって構成されては、日付ピッカーがdateFromString.Theエラーを置き換えることはできませんです。ラインで型「NSStringの*」のパラメータに「* NSDatePicker _strong」を送信して、互換性のないポインタ型:

NSDate * dataInizio = [formatoData dateFromString:datePicker]; 

誰も私を助けることができますか?

答えて

0

から述べたように、あなたがフォーマッタを使用することができNSDate

に変換する必要がある場合、私はあなたがそれが接続されているので、NSDatePickerが正しくInterfaceBuilderでフックアップ持ってと仮定しているdateFromString DatePicker。

もしそうなら、あなたは次のように割り当てることができるはずです。そして、

NSDate * unformattedDate = [ datePicker dateValue ]; 

とは、あなたのフォーマッタへの入力としてunformattedDateを使用して、以前のようにあなたの書式設定を行います。

+0

は完璧に感謝しています! – Andrea

0

dateFromStringメソッドは、パラメータ・タイプがNSDatePicker

使用NSDate * dateVariable = datePicker.dateで、NSStringのを必要とします。代わりに、あなたはNSDateを持っていたらhttps://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html

+0

実際、dataPickerを@ "07/04/2012"に置き換えた場合は機能しますが、datePickerを使用して希望の日付を設定します。 – Andrea

+0

だから、dateFromStringの代わりにdatePromer.dateを使うことができます – Zuuum

+0

私は試しました:NSDate * dataInizio = [formatoData datePicker.date];しかし動作しません。 – Andrea

関連する問題