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 という目的の 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

インターフェイスは、DatePicker、TextView、およびボタンで構成されています。DatePicker で dateFromString を置き換えることはできません。エラーは次のとおりです: 互換性のないポインター タイプが、タイプ 'NSString *' のパラメーターに 'NSDatePicker _strong *' を送信しています:

NSDate * dataInizio = [formatoData dateFromString:datePicker];

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

4

2 に答える 2

0

dateFromStringメソッドにはNSStringが必要であり、パラメータータイプはNSDatePickerです。

NSDate * dateVariable=datePicker.date;を使用します。NSDateに変換する必要がある場合は、代わりにdateFromString

NSDateを入手したら、https: //developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.htmlに記載されているフォーマッターを使用できます。

于 2012-04-09T09:40:48.710 に答える
0

NSDatePicker が InterfaceBuilder に正しく接続されているため、DatePicker に接続されていると想定しています。

その場合、次のように割り当てることができるはずです。

NSDate * unformattedDate = [ datePicker dateValue ];

そして、unformattedDateフォーマッタへの入力として使用して、以前と同じようにフォーマットを行います。

于 2012-04-09T12:56:45.243 に答える