iphone将值传递给标签

时间:2011-02-22 23:44:03

标签: iphone uilabel nslog

我正在实施calendar作为我的应用程序的一部分,它在nslog中显示所选日期,但我需要将此值发送到标签, 它在nslog中显示的值为2011-02-08

我在ib中创建了一个标签,(并连接到它)  在* ViewController.h

    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 个答案:

答案 0 :(得分:2)

您不能只将“日期”分配给“标签”......

您显然正在使用Appcelerator框架。 (KLDate类型)

所以你要找的是:

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

stringWithFormat:实际上会调用description的{​​{1}}方法,因此您也可以使用等效方法:

KLDate

要查看KLDate.h并查看该方法,请返回一个 dateis.text = aTile.date.description; ,您可以将其分配给UILabel的良好属性(查看其文档)NSString *

如果您需要编写自己的代码来格式化日期,则应检查text方法实现...

答案 1 :(得分:1)

尝试:

dateis.text = [aTile date];

答案 2 :(得分:1)

那么,NSLog可以将很多不同的类类型作为输入,它会找出它可以显示的内容。什么是KLTile?你如何将日期分配给KLTile,即从什么数据结构到什么数据结构。某处必须有NSString或格式化的NSDate。也许你可以在调试器中看到KLTile的内部结构。

答案 3 :(得分: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;
}