class_self-2.m
来自「xml大全 可读写调用率很高 xml大全 可读写调用率很高」· M 代码 · 共 72 行
M
72 行
/* Contributed by Nicola Pero - Fri Oct 26 22:39:32 BST 2001 */#include <objc/objc.h>/* Test calling a class method on self where self has been redefined to be another class - the call requires a cast *//* The first class */struct d{ int a;};@interface ClassA{ Class isa;}+ (Class) class;+ (struct d) method;@end@implementation ClassA+ (Class) class{ return self;}+ (struct d) method{ struct d u; u.a = 5; return u;}#ifdef __NEXT_RUNTIME__ + initialize { return self; }#endif@end/* The second class */@interface TestClass{ Class isa;}+ (void) test;@end@implementation TestClass+ (void) test{ self = [ClassA class]; if ([(Class)self method].a != 5) { abort (); }}#ifdef __NEXT_RUNTIME__ + initialize { return self; }#endif@endint main (void){ [TestClass test]; return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?