IPHONE: список всех просмотров и подпредставлений, созданных моим приложением - PullRequest
2 голосов
/ 29 ноября 2009

Несколько недель назад я нашел где-то код, который позволяет выгружать в терминал, используя NSLOG, иерархический список всех представлений, подпредставлений и объектов, созданных приложением, но я больше не могу найти этот код?

Ребята, вы знаете, как это сделать?

Заранее спасибо за любую помощь!

1 Ответ

3 голосов
/ 29 ноября 2009

У меня есть категория, которая добавляет следующий метод в UIView для такого рода вещей:

- (NSArray *) allSubviews {
    NSMutableArray              *subviews = [self.subviews mutableCopy];

    for (UIView *view in self.subviews) {
        [subviews addObjectsFromArray: [view allSubviews]];
    }
    return subviews;
}

Затем вы можете NSLog () вернуть массив. В качестве альтернативы, вы можете использовать следующее:

- (NSString *) hierarchyToStringWithLevel: (int) level {
    NSMutableString             *results = [NSMutableString stringWithString: @"\n"];

    for (int i = 0; i < level; i++) {
        [results appendFormat: @"-\t"];
    }

    [results appendFormat: @"[%@, 0x%X], %@", [self class], self, NSStringFromCGRect(self.frame)];
    for (UIView *child in self.subviews) {
        [results appendFormat: @"%@", [child hierarchyToStringWithLevel: level + 1]];
    }
    return results;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...