Проблема с функцией для преобразования UNIX TimeStamp - PullRequest
0 голосов
/ 26 июня 2010

Я получаю эти две ошибки: - Не может использовать объект как параметр метода - несовместимые типы в ответ

Это мой код:

 - (NSString) dateStringFromUnixTimeStamp:(NSInteger)timeStamp {
 //Create Date-String from UNIX-Time-Stamp:
 NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];
 NSDateComponents *monthComponents = [[NSCalendar currentCalendar] components:NSMonthCalendarUnit fromDate:date];
 int month = [monthComponents month];

 NSDateComponents *dayComponents = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:date];
 int day = [dayComponents day] - 1;

 NSDateComponents *yearComponents = [[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:date];
 int year = [yearComponents year];

 NSString *monthString;

 switch (month) {
  case 1:
   monthString = @"Januar";
   break;
  case 2:
   monthString = @"Februar";
   break;
  case 3:
   monthString = @"März";
   break;
  case 4:
   monthString = @"April";
   break;
  case 5:
   monthString = @"Mai";
   break;
  case 6:
   monthString = @"Juni";
   break;
  case 7:
   monthString = @"Juli";
   break;
  case 8:
   monthString = @"August";
   break;
  case 9:
   monthString = @"September";
   break;
  case 10:
   monthString = @"Oktober";
   break;
  case 11:
   monthString = @"November";
   break;
  case 12:
   monthString = @"Dezember";
   break;
  default:
   break;
 }

 NSString *dateString = [[NSString stringWithFormat:@"%d", day] stringByAppendingString:@". "];
 dateString = [dateString stringByAppendingString:monthString];
 dateString = [dateString stringByAppendingString:@" "];
 dateString = [dateString stringByAppendingString:[NSString stringWithFormat:@"%d", year]];

 return dateString;
}

Спасибо за помощь!

1 Ответ

2 голосов
/ 26 июня 2010

Тип возврата вашего метода должен быть NSString * вместо NSString.

Тем не менее, ваш метод намного сложнее, чем должен быть.Вы должны использовать NSDateFormatter для форматирования даты.Превращает этот метод в несколько строк.

Кроме того, если вы сообщаете об ошибках, вы всегда должны сообщать нам, в какой строке происходит ошибка.

...