在没有bundle的文档时,用runtime预览bundle里边都有哪些API:
- #import
- #import
- #import
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- // insert code here...
- NSLog(@"Hello, World!");
- NSBundle *bundleObject;
- NSString *bundlePath = @"/path/to/bundle/name.bundle";
- bundleObject = [NSBundle bundleWithPath:bundlePath];
- Class aClass = [bundleObject principalClass];
- id anInstance = [[aClass alloc] init];
- NSLog(@"%@",anInstance);
-
- // 获取对象的所有属性
- NSLog(@"all Properties:");
- u_int count = 0;
- objc_property_t *properties = class_copyPropertyList(aClass, &count);
- for (int i = 0; i < count; i++){
- const char *propertyName = property_getName(properties[i]);
- NSLog(@"%@",[NSString stringWithUTF8String:propertyName]);
- }
- free(properties);
- //获取对象的所有方法
- NSLog(@"all Methods:");
- unsigned int methodCount = 0;
- Method *methodList = class_copyMethodList([anInstance class], &methodCount);
- for (int i = 0; i < methodCount; i++) {
- Method temp = methodList[i];
- SEL name_F = method_getName(temp);
- const char *name_s = sel_getName(name_F);
- int arguments = method_getNumberOfArguments(temp);
- const char * encoding = method_getTypeEncoding(temp);
- NSLog(@"MethodName: %@,ArgumentCount: %d,EncodingStyle: %@",[NSString stringWithUTF8String:name_s],arguments,[NSString stringWithUTF8String:encoding]);
- }
- free(methodList);
- }
- return 0;
- }