Objective c 如何创建具有公共帮助程序的实用程序类?
我想用我需要的常用函数创建一个实用程序类。所以它们必须是静态的,并且不泄漏内存 假设我想添加将NSString转换为NSNumber的函数:Objective c 如何创建具有公共帮助程序的实用程序类?,objective-c,Objective C,我想用我需要的常用函数创建一个实用程序类。所以它们必须是静态的,并且不泄漏内存 假设我想添加将NSString转换为NSNumber的函数: NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; [f setNumberStyle:NSNumberFormatterDecimalStyle]; NSNumber * myNumber = [f numberFromString:@"42"]; [f release]; 我怎样才能返回
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"42"];
[f release];
我怎样才能返回结果而不泄漏
我是否必须为此使用autorelease?在返回所有权不确定的对象时,使用autorelease避免内存泄漏NSNumber
的numberFromString:
方法已经返回了一个自动删除的值,因此您不需要在这种情况下执行任何特殊操作。对于其他类的对象,可以执行以下操作:
MyClass *ret = [[[MyClass alloc] initWithSomeValue:42] autorelease];
请注意,如果使用ARC,则无需执行以下任何操作:编译器足够聪明,可以为您计算出大部分内容
在Objective C中,Java/C++/C的静态方法称为类方法。您可以在声明中用+
而不是-
来表示它们,并且记住您不能从实现中访问实例方法
在标题中:
@interface MyHelper : NSObject
+(NSString*)format:(NSNumber*)num;
@end
在实施过程中:
@implementation MyHelper
+(NSString*)format:(NSNumber*)num {
return [num stringValue];
}
@end
您能告诉我如何设置具有静态方法的实用程序类吗?