我有一个类来执行一些小的转换,比如 NSDate 到具有特定格式的 NSString 等。
每个方法都是类方法,例如+[Tools humanReadableStringForDate:(NSDate*)date];
我有时需要我的方法+[Tools A]
来调用+[Tools B]
我的类的方法,但在一个块内。
我应该创建一个__block safeSelf = self;
还是没有必要因为我使用类级别的方法?
编辑:这是一个例子,不是我的实际代码:
@implementation FileManager
+(void) uploadEveryFile:(void (^)(NSObject*))thingToDo :(NSArray*) fileArray {
for(NSString *s in fileArray) {
[[SomeWebAPI uploadFile:s withSuccess:^(NSNumber *responseCode) {
[self logUploadOk:s];
}];
}
}
+(void) logUploadOk:(NSString*)s {
NSLog(@"File upload ok : %@", s)
}
@end
我认为这使事情更清楚。我喜欢在可能self
的情况下对类方法使用关键字——在这个例子中我可以,因为我在同一个类中并引用一个类级别的方法——因为它似乎更有意义,如果我必须修改它会很有帮助我的班级名称。
那么这样写是否正确?它是否有效但并不正确?我真的需要打电话logUploadOk
using[FileManager logUploadOk:s]
吗?
谢谢 !