0

実際のデバイスでアプリケーションを実行すると、NSDate オブジェクトは iPhone、iPad で動作します。しかし、iPad の実デバイスでアプリケーションを実行すると、<not an Objective-C object>エラーが発生します。整理してみました。しかし、できませんでした。

- (NSString*)getDateFromJSONToStringSaveFormat:(NSString *)dateString
{
    NSDate *_Date = [NSDate alloc] init];
    NSDate *_Date = [self getDateFromJSON:dateString];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    return [dateFormatter stringFromDate:_Date];
} 

- (NSDate*)  getDateFromJSON:(NSString *)dateString
{
    // Expect date in this format "/Date(1268123281843)/"
    int startPos = [dateString rangeOfString:@"("].location+1;
    int endPos = [dateString rangeOfString:@")"].location;
    NSRange range = NSMakeRange(startPos,endPos-startPos);
    unsigned long long milliseconds = [[dateString substringWithRange:range] longLongValue];

    NSTimeInterval interval = milliseconds/1000;
    return [NSDate dateWithTimeIntervalSince1970:interval];

}

この問題のため、NSDate オブジェクトを初期化し、日付値を確認しました。( NSDate *_Date = [NSDate alloc] init];) ここでも同じエラーが発生しますか? 何故ですか?誰もがこのエラーに直面しました??

4

1 に答える 1

1

まず、次の行を削除できます。

NSDate *_Date = [NSDate alloc] init];

次の行はそれを再宣言するだけなので、削除する必要がある行にも[.

- (NSString*)getDateFromJSONToStringSaveFormat:(NSString *)dateString
{
    // Not needed since the line after it also declares the variable.
    //NSDate *_Date = [NSDate alloc] init];
    NSDate *_Date = [self getDateFromJSON:dateString];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    return [dateFormatter stringFromDate:_Date];
} 
于 2013-10-07T15:24:00.630 に答える