- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- (void) viewDidAppear: (BOOL) animated
{
[super viewDidAppear:animated];
self.tabBarController.tabBar.userInteractionEnabled = YES;
if (wasAppearFromChild) {
[super viewWillAppear:animated];
wasAppearFromChild = NO;
return;
}
goToLastBarNeed = NO;
if ([delegate isNeedFullUpdate]) //проверяем, нужно ли полное обновление
{
if ([delegate isNetworkAvaliable])
{
///тут вызываем полное обновление
[delegate showProgressBar];
[self performSelectorInBackground:@selector(updateLoop) withObject:nil];
[self performSelector:@selector(progressLoop) withObject:nil];
}
else
{
//тут выдаём ошибку про интернет или распаковываем то, что есть
if (![delegate isTabListExist]) {
goToLastBarNeed = YES;
[delegate displayAlertOnNetworkError];
return;
}
else
{
if ([delegate packTypeCount] == 0) {
[delegate showIndicatorView:@"Loading"];
[self performSelectorInBackground:@selector(updateLoop) withObject:nil];
}
}
}
}
else
{ //если попали сюда впервые, то смотрим, не нужно ли обновиться после 24-х часов и либо обновляемся, либо распаковываемся
if ([delegate packTypeCount] == 0)
{
if ([delegate isNetworkAvaliable])
{
if ([delegate is24HoursPass])
{
[delegate showIndicatorView:@"Updating"];
}
else
{
[delegate showIndicatorView:@"Loading"];
}
}
else
{
[delegate showIndicatorView:@"Loading"];
}
[self performSelectorInBackground:@selector(updateLoop) withObject:nil];
}
}
[super viewWillAppear:animated];
}
- (void) updateLoop
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
self.view.userInteractionEnabled = NO;
[delegate setHasTabPacksResult:NO];
[delegate downloadTabPacks];
[self performSelectorOnMainThread:@selector(updateLoop1) withObject:nil waitUntilDone:YES];
[pool release];
}
QuickNick 27.12.2012 15:53 # −2
- (void) updateLoop1
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
myTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(getTimeOut:) userInfo:nil repeats:YES];
[pool release];
}
- (void) getTimeOut: (id) sender
{
NSLog(@"timeout");
if ([delegate getHasTabPacksResult] == YES)
{
[myTimer invalidate];
if (progressTimerIsActive)
{
[progressTimer invalidate];
}
}
}
anonimb84a2f6fd141 27.12.2012 21:22 # +1
absolut 28.12.2012 11:35 # +1
krypt 27.12.2012 15:57 # 0
Странный код. И проект странный. Целиком слеплен из говна.
QuickNick 27.12.2012 16:09 # 0
krypt 27.12.2012 16:30 # 0
QuickNick 27.12.2012 16:32 # 0
QuickNick 27.12.2012 16:34 # +1
krypt 27.12.2012 16:39 # 0
QuickNick 27.12.2012 16:48 # 0
Я все-таки про автора.
anonimb84a2f6fd141 27.12.2012 21:24 # 0
Ну или семён семёныч в треде, тогда ещё угарнее.
eth0 27.12.2012 21:34 # +2
krypt 27.12.2012 21:43 # 0
absolut 28.12.2012 11:36 # 0
wvxvw 27.12.2012 23:33 # +3
krypt 28.12.2012 01:20 # 0
santa_microbe 28.12.2012 09:11 # +4
absolut 28.12.2012 11:38 # +2
krypt 28.12.2012 12:19 # +1