在Objective-C中有一种方法可以询问类是否存在任何子类实现.
我有一个Base类,它有多个子类.我想循环遍历所有子类并在每个子类上执行类选择器.
编辑:
我有一组可以处理某些类型数据的类.每个处理器都对一个基类进行子类化,该基类提供每个处理器所需的方法.
每个类都知道它可以处理哪些数据,而某些类可以比其他类更好地处理某些类型的数据.
我想在每个类上都有一个类方法,它会向工厂类提供一个响应,表示我可以处理该数据,并指出它可以处理它的程度.
然后工厂根据哪个类说它可以最好地处理数据来决定实例化哪个类.
我也从2009年发现了这个问题(我在发布之前进行了搜索,但没有发现任何内容)在Obj-C中发现给定类的子类.
编辑2:
该+ (void)load方法看起来是我正在寻找的完美解决方案.所以我现在有以下内容:
+ (void)registerSubclass:(Class)subclass {
NSLog(@"Registered %@", subclass);
}
Run Code Online (Sandbox Code Playgroud)
在我的基类中,这是我的潜艇.
+(void)load {
[BaseSwitch registerSubclass:[self class]];
}
Run Code Online (Sandbox Code Playgroud)
现在,这将显示每个子类的调试消息.
我的下一个问题是(可能是一个愚蠢的问题),如何存储在registerSubclass方法中注册的类.有没有办法让我可以在以后阅读的类变量?
编辑3:
在这里找到一些示例代码Cocoa中一个简单,可扩展的HTTP服务器
这给我留下了以下内容,看起来很简单,看起来很简单.但我想我会把它放在这里供将来参考.
@implementation BaseSwitch
static NSMutableArray *registeredSubclasses;
+ (void)registerSubclass:(Class)subclass {
if (registeredSubclasses == nil) {
registeredSubclasses = [[NSMutableArray alloc] init];
}
[registeredSubclasses addObject:subclass];
NSLog(@"Registered %@", subclass);
}
+ (void)logSubclasses {
for (int i = 0; i < [registeredSubclasses count]; i++) {
NSLog(@"%@", [registeredSubclasses objectAtIndex:i]); …Run Code Online (Sandbox Code Playgroud) 有没有人知道是否可以通过代码从App Engine SDK或某种形式的WebAPI访问您当前的帐户配额详细信息.
我希望能够跟踪正在运行的应用程序中的数据存储使用情况和带宽使用情况,以便根据应用程序剩余的配额级别改变其行为.
我想开发一个Windows桌面小工具为Windows 7只是不知道是否有重新载入Widget或有某种形式的调试代码,将刷新窗口小部件每隔10秒的简单方法.
我问的原因是在开发小部件时,如果我改变任何东西,我需要关闭小部件并读到桌面以显示我的更改.
干杯.
我正在尝试在基于Java的Google App Engine代码中发布Atom/RSS提要.我已经尝试使用罗马并继续得到以下错误(尝试谷歌搜索没有成功),我运行的代码生成错误是演示代码(所以我感觉罗马不适用于GAE)
java.lang.NoClassDefFoundError: org/jdom/JDOMException
at com.sun.syndication.io.SyndFeedOutput.<init>(SyndFeedOutput.java:44)
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一个简单的Java库的建议,以便从Google App Engine中创建和发布Atom提要.
谢谢.