0

我有 2 个 UIViewControllers(A,B)。A 被设置为 B 的代表,然后 B 被呈现。协议设置在 B 的 header 中:

@protocol BDelegate <NSObject>
- (IBAction)finishOrder:(id)sender;

@end

声明了委托属性:

@property (nonatomic, assign) id<BDelegate> delegate;

A 设置 B.delegate = self; 然后按一个按钮 B 调用:

if (self.delegate) {
        [self.delegate finishOrder:nil];
    }

但是,在第一次运行时 lldb 给了我:

-[UITextInteractionAssistant finishOrder:]: unrecognized selector sent to instance

第二次运行:

-[NSInvocation delegate]: unrecognized selector sent to instance

第三次运行:

-[__NSCFDictionary delegate]: unrecognized selector sent to instance

第四次运行:

-[UITextTapRecognizer finishOrder:]: unrecognized selector sent to instance

所以...没有代码更改,但是 self 从 A 更改为 NSInvocation 和 __NSCFDictionary 并且 B 的委托(A 的自己)更改为 UITextInteractionAssistant 和 UITextTapRecognizer ...从未见过类似的东西。有任何想法吗?谢谢!

4

1 回答 1

0

你在某处过度释放。尝试打开 Zombies,并使用 Instruments 追踪过度释放。

于 2012-06-18T21:00:31.150 回答