2

アプリの一部としてカレンダーを実装しています。選択した日付が nslog に表示されますが、この値をラベルに送信する必要があります。値は nslog に 2011-02-08 として表示されます

*ViewController.hでibにラベルを作成しました(そしてそれに接続します)

    IBOutlet UILabel *dateis;

*ViewController.m で

 - (void)calendarView:(KLCalendarView *)calendarView tappedTile:(KLTile *)aTile{
NSLog(@"Date Selected is %@",[aTile date]);

[aTile flash];

dateis = [aTile date];

}

しかし、警告が表示されます>

Incompatible Objective-C types assigning 'struct KLDate *', expected 'struct UILabel *'

編集、使用する場合

    dateis.text = [aTile date];

警告が表示されます

 incompatible Objective-C types 'struct KLDate *', expected 'struct NSString *' when passing argument 1 of 'setText:' from distinct Objective-C type

KLDate は、日付がカレンダーで定義された方法です。

  • この値をラベルに渡すにはどうすればよいですか (nslog で作業し、*.m でコード呼び出しを表示)

どうもありがとう!!

4

4 に答える 4

2

「ラベル」に「日付」を割り当てることはできません...

あなたは明らかに Appcelerator フレームワークを使用しています。(KLDateタイプ)

だからあなたが探しているのは:

 dateis.text = [NSString stringWithFormat:@"%@", aTile.date];

stringWithFormat:description実際には のメソッドを呼び出すKLDateので、同等の を使用することもできます:

 dateis.text = aTile.date.description;

これを見つけるには、KLDate.h を見て、UILabelNSString *の適切なプロパティに割り当てることができる a を返すメソッドを確認します (ドキュメントを参照)。text

description日付をフォーマットするために独自のコードを記述する必要がある場合は、メソッドの実装を確認する必要があります...

于 2011-02-23T00:26:38.333 に答える
1

NSLog は、さまざまな種類のクラスを入力として受け取ることができ、何を表示できるかを判断します。KLタイルとは?KLTile に日付をどのように割り当てていますか。つまり、どのデータ構造からどのデータ構造に割り当てていますか。どこかに NSString またはフォーマットされた NSDate が必要です。デバッガーで KLTile の内部構造を確認できるかもしれません。

于 2011-02-22T23:50:29.223 に答える
1

試す:

dateis.text = [aTile date];
于 2011-02-22T23:48:55.213 に答える
1

わかりましたので、それが適切なことかどうかはわかりませんが、うまくいきます!! (大丈夫かどうか教えてください!)

ラベルに文字列が必要な場合は、文字列を指定します。

     - (void)calendarView:(KLCalendarView *)calendarView tappedTile:(KLTile *)aTile{
NSLog(@"Date Selected is %@",[aTile date]);

[aTile flash];
NSString *str =[NSString stringWithFormat:@"%@", [aTile date]];
dateis.text = str;
}
于 2011-02-23T00:19:49.347 に答える