Мое универсальное приложение iOS7 прекрасно работает, за исключением начального viewController
для iPhone не обновляется с новой информацией. IPad обновляется корректно. Они оба используют один и тот же точный код, но отдельные раскадровки. Оба значения viewControllers
имеют значение «initial». Если я закрою приложение iPhone и перезагрузите его, он будет корректно обновляться. Это должно быть что-то очевидное, но я не могу его найти. Пожалуйста помоги.Почему первоначальное обновление UIViewController для iPad, но не iPhone?
Вот подклассы UIViewController
для обоих идиомы:
- (void)viewDidLoad
{
[super viewDidLoad];
UIApplication *application = [UIApplication sharedApplication];
application.applicationIconBadgeNumber = 0;
self.thoughtLabel.layer.cornerRadius = 6.0f;
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(preferredContentSizeChanged:) name:UIContentSizeCategoryDidChangeNotification object:nil];
self.canDisplayBannerAds = YES;
[self performSelector:@selector(retrieveFromParse)];
}
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
- (void)preferredContentSizeChanged:(NSNotification *) notification
{
self.thoughtLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
}
- (void)retrieveFromParse
{
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.labelText = @"Loading ...";
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]];
[components setHour:0];
[components setMinute:0];
NSDate *startTime = [calendar dateFromComponents:components];
[components setHour:23];
[components setMinute:59];
NSDate *endTime = [calendar dateFromComponents:components];
PFQuery *query = [PFQuery queryWithClassName:@"Content"];
[query whereKey:@"date" greaterThanOrEqualTo:startTime];
[query whereKey:@"date" lessThanOrEqualTo:endTime];
NSArray *objects = [query findObjects];
PFObject *object = [objects objectAtIndex:0];
self.thought = [object objectForKey:@"thought"];
self.author = [object objectForKey:@"author"];
PFFile *image = [object objectForKey:@"image"];
NSData *imageData = [image getData];
_image = [UIImage imageWithData:imageData];
NSString *thoughtFormatted = [NSString stringWithFormat:@"%@\n\n-- ",_thought];
_thoughtAndAuthor = [thoughtFormatted stringByAppendingString:_author];
self.imageView.image = _image;
UIFont* font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
UIColor* textColor = [UIColor colorWithRed:0.175f green:0.458f blue:0.831f alpha:1.0f];
NSDictionary *attrs = @{NSForegroundColorAttributeName : textColor, NSFontAttributeName : font, NSTextEffectAttributeName: NSTextEffectLetterpressStyle};
NSAttributedString* attrString = [[NSAttributedString alloc] initWithString:_thoughtAndAuthor attributes:attrs];
self.thoughtLabel.attributedText = attrString;
[MBProgressHUD hideHUDForView:self.view animated:YES];
}
«не обновляется с новой информацией» не выглядит хорошо объясненным вопросом разработчика. Не возражаете ли вы показать нам какой-то код? –
Я добавил код. – user2490500
С каким методом у вас есть эта проблема? Это метод retrieveFromParse не вызывает? Можете ли вы добавить NSLog для просмотраDidLoad и посмотреть, как он называется на iPhone. Вы также можете заменить строку [self performSelector: @selector (retrieveFromParse)]; с [self retrieveFromParse]; – Greg