/ / "NSDate Objective-Cオブジェクトではありません"エラーは、実際のデバイスでIOS 7でアプリケーションを実行すると表示されます - objective-c、xcode、ipad、ios7、nsdate

実際のデバイスでIOS 7でアプリケーションを実行すると "NSDate Objective-C object"エラーが表示されます - objective-c、xcode、ipad、ios7、nsdate

実際のデバイスでアプリケーションを実行したときに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];)ここにも同じエラーが表示されますか?何故ですか?誰もこのエラーに直面した??

回答:

回答№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];
}