Как подсчитать, сколько раз было загружено представление с момента запуска приложения? - PullRequest
0 голосов
/ 17 июля 2009

Некоторые методы моего класса должны знать, сколько раз класс был загружен. Нужен ли мне Singleton для этого или есть другие способы сделать это? Существуют ли статические переменные, которые я могу прикрепить к классу, а затем просто увеличивать их каждый раз, когда viewDidLoad?

При запуске приложения это значение сбрасывается (= 0). Я не такой большой друг-синглтон, так как это большая нагрузка на методы в target-c;)

Ответы [ 2 ]

1 голос
/ 17 июля 2009

Если вы хотите, сколько раз вид был загружен (отображен), продолжайте читать:)

Загрузка может произойти только один раз (даже если вы перемещаетесь по форме). Если вы хотите узнать, сколько раз появляется представление, просто создайте статическое поле и увеличьте его значение в viewWillAppear.

static NSUInteger countAppear = 0;

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    countAppear++;
    NSLog(@"CountAppear %d", countAppear);
}
1 голос
/ 17 июля 2009

Под "сколько раз класс был загружен", я предполагаю, что вы имеете в виду, сколько объектов этого класса было инициализировано? Сам класс загружается только один раз.

static NSUInteger numberOfInitializations = 0;

- (id)init
{
    self = [super init];
    if (self)
    {
        ++numberOfInitializations;
        // other stuff
    }
    return self;
}

- (void)someOtherMethodThatNeedsToKnow
{
    NSLog(@"Current count is %d", numberOfInitializations);
}

- [UIViewController viewDidLoad] может быть тем, что вы хотите, но имейте в виду, что представления могут быть выгружены, если они не отображаются при нехватке памяти.

Также имейте в виду, что если вы используете представления, если вы загружаете их из NIB, вам нужно переопределить -initWithCoder:, тогда как если они созданы программно, это -initWithFrame:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...