0
在我的應用程序中,我必須顯示一週的日期值。它在iPhone上正常工作,但在iPad中無法正常工作。修復bug:日期值適用於iPhone,但不適用於iPad
1,本圖顯示了在iPhone上的文本框上方的日期值(21 ... 27)
2,本圖顯示的文本框中錯誤日期值(3)上述在iPad中。
對於這個我的一段代碼:
- (void)viewDidLoad
{
[super viewDidLoad];
// here the self.startday value has been passed from one controller to another.
_datelabel.text = self.startday;
// here the self.startday [email protected]"2016-02-23"
[self method1];
[self getdateArray];
[self method2];
}
我的方法的一段代碼獲取日期:
-(void) get date
{
NSString *dateStr,*strday;
NSString *[email protected]"yyyy-MM-dd";
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:dateFormat];
NSDate *date = [dateFormatter1 dateFromString:self.startday];
NSLog(@"%@",date);
NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];
NSTimeZone *utcTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
NSInteger currentGMTOffset = [currentTimeZone secondsFromGMTForDate:date];
NSInteger gmtOffset = [utcTimeZone secondsFromGMTForDate:date];
NSTimeInterval gmtInterval = currentGMTOffset - gmtOffset;
NSDate *destinationDate = [[NSDate alloc] initWithTimeInterval:gmtInterval sinceDate:date];
NSDateFormatter *dateFormatters = [[NSDateFormatter alloc] init];
[dateFormatters setDateFormat:dateFormat];
[dateFormatters setTimeZone:[NSTimeZone systemTimeZone]];
dateStr = [dateFormatters stringFromDate: destinationDate];
self.wkDateArray = [[NSMutableArray alloc] init];
self.wkDayArray = [[NSMutableArray alloc] init];
NSCalendar *calendar = [NSCalendar currentCalendar];
for(int i =0 ;i<7;i++)
{
NSDate *newdate = [destinationDate dateByAddingTimeInterval:60*60*24*i];
NSDateComponents *comp =[calendar components:NSCalendarUnitDay fromDate:newdate];
strday = [NSString stringWithFormat:@"%ld",[comp day]];
[self.wkDayArray insertObject:strday atIndex:i];
dateStr = [dateFormatters stringFromDate: newdate];
[self.wkDateArray insertObject:dateStr atIndex:i];
}
NSLog(@"%@",self.wkDayArray[0]);
NSLog(@"%@",self.wkDateArray[0]);
}
//記錄儀這一行:
NSDate *date = [dateFormatter1 dateFromString:self.startday];
NSLog(@"%@",date);
如果我在「iPhone目的地」把記錄器的「日期」輸出將是:
iphone:2016-02-20 18:30:00 +0000
如果我把記錄的日期在「iPad的目的地」輸出將是:
ipad:(null)
後來我總結由於這個空值,已經設置了一些錯誤的值。
爲什麼它在iPad目的地顯示空值?對此有什麼確切的解決方法?提前致謝請幫助我。
幫我解決這個問題。 – jsaonboo
iPAd模擬器給出相同的輸出? –
的iPad有相同的時區/位置嗎? –