如何获取返回NSObject类型的Random对象的方法

时间:2011-08-27 17:29:43

标签: objective-c xcode4

我作为Objective CI的学习练习需要编写一个返回Random NSObject的方法。
我尝试遵循的方法是尝试获取所有运行时对象的列表并通过它获取itirate一个NSObject并返回。

首先,我不确定这是否是最佳方法。其次,我使用的代码基于thisobjc_getClassList链接但在Xcode4中我得到编译时错误

warning: Semantic Issue: Implicit declaration of function 'objc_getClassList' is invalid in C99
warning: Semantic Issue: Implicit declaration of function 'classIsSubclassOfClass' is invalid in C99

我尝试添加以下标题,但没有好的

#import <objc/runtime.h>
#import <objc/objc-class.h>
#import <objc/objc-runtime.h>

但是没有帮助我,仍然有警告。

所以我可以帮助解决这两件事情.1这是正确的方法,如果没有实现我想要达到的目的又是什么呢?我怎样才能得到{{3在Xcode 4中不发出警告。

2 个答案:

答案 0 :(得分:2)

嗯,objc_getClassListobjc/runtime.h中声明,因此包含或导入应该这样做。

对于另一部分,在使用之前,您只需要declare your function。在文件的顶层或您随后包含的文件中,放置函数头,而不是正文:

BOOL classIsSubclassOfClass( const Class aClass, const Class subclass );

这让编译器知道了这个功能;然后你可以在任何需要使用该函数的文件中#include声明这个声明,同时在任何你喜欢的地方定义它(即填写正文)。

答案 1 :(得分:0)

那么你想要的是获得一个继承自NSObject的类,任何类?

我认为这根本不是正确的做法。我看不出需要任何随机课程。你会用它做什么?

也许你想要的是添加一个在数组中使用的已知类的子集。然后从该阵列中随机选择一个。