2015-03-26 2 views
0

Создал класс UIView, указав индикатор внутренней активности. В этом представлении вам сообщается, что в это время приложение выполняет операцию.Рассчитать время между переключателями контроллера View и другим контроллером View

Я пытаюсь применить этот UIView и войдите в моем приложении, но у меня есть проблема ...

Я хотел бы быть в состоянии вычислить время, что приложение берет с момента пользователь вводит свой имя пользователя и пароль, вплоть до момента доступа к главному экрану приложения. В тот момент времени я хотел бы видеть мой UIView, который сообщает вам, что в тот момент, когда он делает операцию ...

Обычай UIView должны исчезнуть, как только представил новый контроллер представления ...

Для этого я думал о NSTimer, возможно, с определенным методом в моем классе UIView, но я не знаю, как установить таймер, чтобы вернуть правильное время между переключателем контроллера просмотра и другим.

Кто-то может 'помочь мне в этом?

+0

Вы можете проверить текущее NSDate времени, когда пользователь сначала вводит его имя, то проверьте еще раз в viewDidAppear следующего контроллера вида и сравнить два раза. –

ответ

2

Если мое понимание правильное, вы хотите установить таймер, тогда вы хотите показать время выполнения в другом контроллере представления?

Я создал бы одноэлемент с объектом nsdate, я бы установил этот объект nsdate в текущее время, после того как пользователь выполнил все, что он делает, я создам еще один объект nsdate и сравню прошедшее время.

Так создать класс Objective-C, я создал somethinf называется showtimer .h файл

// 
// ShowTimer.h 
// app 
// 

#import <Foundation/Foundation.h> 

@interface ShowTimer : NSObject 
{ 
    NSDate *passed; 
} 

@property (nonatomic, retain) NSDate *passed; 
+ (id)sharedManager; 
@end 

.m файл

// 
// ShowTimer.m 
// app 
// 

#import "ShowTimer.h" 

@implementation ShowTimer 
@synthesize passed; 

#pragma mark Singleton Methods 

+ (id)sharedManager { 
    static ShowTimer *sharedMyManager = nil; 
    static dispatch_once_t onceToken; 
    dispatch_once(&onceToken, ^{ 
     sharedMyManager = [[self alloc] init]; 
    }); 
    return sharedMyManager; 
} 

- (id)init { 
    if (self = [super init]) { 

    } 
    return self; 
} 

- (void)dealloc { 
    // Should never be called, but just here for clarity really. 
} 
@end 

в контроллерах зрения импорта #import "ShowTimer.h" затем инициализировать таймер везде, где вы хотите

ShowTimer *timer=[ShowTimer sharedManager]; 
    timer.passed=[NSDate date]; 

затем вызвать его в другом виде/ViewController methof где угодно

ShowTimer *timer=[ShowTimer sharedManager]; 
    NSDate *methodFinish = [NSDate date]; 
    NSTimeInterval executionTime = [methodFinish timeIntervalSinceDate:timer.passed]; 
    NSLog(@"Execution Time: %f", executionTime); 
+0

Здравствуйте, большое вам спасибо за вашу помощь, и я хотел спросить, что «лучший способ установить progressView в этом методе – kAiN

Смежные вопросы