2010-06-26 3 views
0

я получаю эти две ошибки: - Невозможно использовать объект в качестве параметра метода - Несовместимые типы взаменПроблема с функцией, чтобы преобразовать UNIX TimeStamp

Вот мой код:

- (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; 
} 

Спасибо для помощи!

ответ

2

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

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

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

+0

Спасибо, много помогли! Я попробую это с NSDateFormatter. –

+1

Если это ответит на ваш вопрос, вы должны пометить ответ как принятый. –