Передача значения iphone на ярлык - PullRequest
2 голосов
/ 23 февраля 2011

Я использую календарь как часть моего приложения, он показывает выбранную дату в nslog, но мне нужно отправить это значение на метку, он показывает значение как 2011-02-08 в nslog

Я создал ярлык в ib (и подключился к нему) в * ViewController.h

    IBOutlet UILabel *dateis;

in * 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 ]

2 голосов
/ 23 февраля 2011

Вы не можете просто назначить "Date" для "Label" ...

Вы, очевидно, используете платформу Appcelerator.(KLDate type)

Итак, что вы ищете:

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

stringWithFormat: фактически вызовет description метод KLDate, так что вы также можете использоватьэквивалент:

 dateis.text = aTile.date.description;

Чтобы найти этот взгляд на KLDate.h и проверить, какой метод возвращает NSString *, который вы можете присвоить хорошему свойству UILabel (см. его документацию), которое является text

Вам следует проверить description реализацию метода, если вам нужно написать собственный код для форматирования даты ...

1 голос
/ 23 февраля 2011

Ну, NSLog может принимать множество различных типов классов в качестве входных данных и вычисляет, что он может отображать. Что такое KLTile? Как вы назначаете дату для KLTile, то есть от какой структуры данных к какой структуре данных. Где-то должен быть NSString или отформатированный NSDate. Возможно, вы можете увидеть внутреннюю структуру KLTile в отладчике.

1 голос
/ 23 февраля 2011

хорошо, так что я не знаю, правильно ли это делать, но это работает !!(пожалуйста, просветите меня, чтобы узнать, хорошо ли это!)

Я просто подумал, что если лейбл хочет строку, то я дам ей строку, хаха, так что,

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

[aTile flash];
NSString *str =[NSString stringWithFormat:@"%@", [aTile date]];
dateis.text = str;
}
1 голос
/ 23 февраля 2011

попробовать:

dateis.text = [aTile date];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...