Мне удалось получить ответ @ orange80 на работу С ДУГОВОЙ ВКЛЮЧЕННОЙ ... ... за то, что я хотел - по крайней мере ... но не без проб и ошибок. Надеюсь, эта дополнительная информация может избавить кого-то от горя.
Сохраните те классы, которые он описывает в своем ответе = как класс, а в своем AppDelegate.h
(или как угодно) положите #import PropertyUtil.h
. Тогда в вашем ...
- (void)applicationDidFinishLaunching:
(NSNotification *)aNotification {
метод (или любой другой)
…
PropertyUtil *props = [PropertyUtil new];
NSDictionary *propsD = [PropertyUtil classPropsFor:
(NSObject*)[gist class]];
NSLog(@"%@, %@", props, propsD);
…
Секрет в том, чтобы привести переменную экземпляра вашего класса ( в этом случае мой класс Gist
, а мой экземпляр Gist
- gist
), который вы хотите запросить .. . для NSObject … (id)
и т. Д. Не будет сокращать его .. по различным, странным, эзотерическим причинам. Это даст вам некоторый вывод, например ...
<PropertyUtil: 0x7ff0ea92fd90>, {
apiURL = NSURL;
createdAt = NSDate;
files = NSArray;
gistDescription = NSString;
gistId = NSString;
gitPullURL = NSURL;
gitPushURL = NSURL;
htmlURL = NSURL;
isFork = c;
isPublic = c;
numberOfComments = Q;
updatedAt = NSDate;
userLogin = NSString;
}
Несмотря на все беззастенчивые / невнятные хвастовства Apple по поводу самоанализа ObjC "amazeballs" ... Они, конечно, не позволяют очень легко выполнить этот простой "взгляд" "на себя", "так сказать" ..
Если вы действительно хотите свихнуться, хотя ... проверьте .. дамп класса , который является ошеломляющим безумным способом заглянуть в заголовки классов ЛЮБОГО исполняемого файла и т. д. ... Это дает ВЕРБОЗУ взглянуть на ваши уроки ... которые я лично считаю действительно полезными - во многих, многих обстоятельствах. Именно поэтому я начал искать решение вопроса ОП. Вот некоторые параметры использования .. наслаждайтесь!
-a show instance variable offsets
-A show implementation addresses
--arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64)
-C <regex> only display classes matching regular expression
-f <str> find string in method name
-I sort classes, categories, and protocols by inheritance (overrides -s)
-r recursively expand frameworks and fixed VM shared libraries
-s sort classes and categories by name
-S sort methods by name