我想知道使用类方法是否存在任何内存/性能缺陷,或者只是一般的缺陷,例如:
+ (void)myClassMethod:(NSString *)param {
// much to be done...
}
或者
+ (NSArray*)myClassMethod:(NSString *)param {
// much to be done...
return [NSArray autorelease];
}
在类方法中放置很多功能很方便,尤其是在我必须处理内存管理(iPhone)的环境中,但是在方便的时候通常会有一个问题?
一个例子可能是一个由许多具有非常简单功能的类组成的网络服务。IE
TomorrowsXMLResults;
TodaysXMLResults;
YesterdaysXMLResults;
MondaysXMLResults;
TuesdaysXMLResults;
.
.
.
n
我在我的 Web 服务类中收集了大量这些,只是实例化了 Web 服务类,并让这个类上的方法调用“结果”类上的类方法。这些类很简单,但它们处理大量 Xml,实例化大量对象等。
我想我是在问类方法在堆栈和内存中是否存在或被视为与实例化对象的消息不同?
或者它们只是在幕后实例化并再次下拉,因此只是节省几行代码的一种方式?