1

我接着写。所有代码都是用 ARC 编写的

@interface MPEvent : UIImageView
@property (nonatomic, unsafe_unretained) SEL action;
@property (nonatomic, strong) id target;

@end

选择器是否以正确的方式声明?

在实现中,我以这种方式使用我的属性:

- (void)sendActionToTargetFromView:(id)view {
    [target performSelector:action withObject:view];
}

但是编译器向我显示警告
警告:语义问题:PerformSelector 可能导致泄漏,因为它的选择器未知

如何解决此警告?

4

1 回答 1

5

在下面的示例中,只有一行代码会忽略 -Warc-performSelector-leaks,之后诊断将返回到之前存在的任何状态。

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
    [self.ticketTarget performSelector: self.ticketAction withObject: self];
#pragma clang diagnostic pop

pragma warnings help
详细说明

于 2012-02-15T23:00:57.297 回答