Имам персонализирано UITableViewCell
в моето приложение за iPhone, за което имам персонализиран setSelected:animated
метод. Приложението ми работи перфектно на iPhone, но започнах да пренасям приложението си към iPad. Копирах абсолютно същия сториборд, не съм променил нищо, но сега моят setSelected:animated
метод се извиква два пъти (с едни и същи параметри), когато избера клетката си. Бих могъл да „се справя“ с този случай, като проверя дали iPad и т.н., но би било лоша практика. Каква може да е причината да се извиква веднъж на iPhone, но два пъти на iPad? (и двете iOS 7.0.3) Свойствата на табличния изглед са абсолютно същите (копирах файла с сценария на iPhone).
Ето съответния код:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
isSelected = selected;
[self setNeedsDisplay];
if(selected){
SocialMatchAppDelegate *del = (SocialMatchAppDelegate*)[UIApplication sharedApplication].delegate;
del.selectedUser = self.user;
[del.resultViewController performSegueWithIdentifier:@"viewProfile" sender:self];
}
}
setSelected:animated
- person Can Poyrazoğlu   schedule 09.01.2014setSelected:animated
се извиква два пъти, тъй като може да създаде объркване в бъдеще и setNeedsDisplay може да стане изчислително скъп за големи изгледи. не е много важно, но защо го викате два пъти? - person Can Poyrazoğlu   schedule 14.01.2014