Как проверить, определен ли класс UIViewController как часть SDK или определен пользователем? - PullRequest
0 голосов
/ 30 мая 2018

Есть ли способ проверить, определен ли данный UIViewController пользователем или предоставлен системой?

//The following may be implemented in one of the View Controller lifecycle methods by swizzling
NSString *controllerName = NSStringFromClass([self class]);
if([Helper controllerIsUserDefined:controllerName]) {
     //Let us do this only for user-defined UIViewController classes
}

Я ищу способ реализации метода controllerIsUserDefined.Также я не предпочитаю добавлять фиктивные свойства или методы в определяемые пользователем классы ViewController, а затем проверять, используя respondsToSelector, так как эта функциональность также может использоваться в существующем проекте.

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете проверить, определен ли класс в основном комплекте, и это может решить вашу проблему.

if ([[NSBundle mainBundle] isEqual:[NSBundle bundleForClass:[self class]]]) {
    // Object class defined in the main bundle
}

Это может не сработать, если класс определен в предоставленной пользователем платформе.

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