【发布时间】:2012-05-18 20:31:55
【问题描述】:
下面是一个简单的 PerformSelector,它向 obj 发送消息以执行循环方法。一切正常,但我收到以下黄色警告。
PerformSelector 可能会导致泄漏,因为它的选择器是未知的。
#import "MyClass.h"
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
MyClass *obj = [[MyClass alloc]init];
SEL mySel = @selector(looping);
[obj performSelector:mySel];
}
return 0;
}
这个警告没有意义,因为 performSelector 必须知道 mySel 因为循环方法确实被调用 - 有什么想法吗??
更新
MyClass.h
#import <Foundation/Foundation.h>
@interface MyClass : NSObject
-(void)looping;
@end
MyClass.m
#import "MyClass.h"
@implementation MyClass
-(void)looping{
NSLog(@"Hey, i'm looping");
}
@end
【问题讨论】:
标签: objective-c memory-management automatic-ref-counting performselector