実際のデバイスでアプリケーションを実行したときに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];
}