我正在开发XCode7,并且正在从事这个项目,UIAlertview运行正常。
我设置了一个可可触摸文件,定义了一个继承自NSobject的新类,

NSVerifier.h

@interface NSVerifier : NSObject<UITextFieldDelegate, UIAlertViewDelegate>
{
..
}


在实现中,我有:

NSVerifier.m

- (void)alertView:(UIAlertView *)aView clickedButtonAtIndex:(NSInteger)buttonIndex{
//Breakpoint here
..
}

-(void)show{
        UIAlertView* t = [[UIAlertView alloc] initWithTitle:@"test" message:@"testing" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"ok", nil];
        [t show];
}


viewDidAppear内部:

NSSVerifier* iVerifier = [[NSVerifier alloc] init];
[iVerifier show];


我全天试图按ok按钮使该断点停止,但从未到达断点。

另一方面...

我有另一个在iOS7期间完成的项目,我将此类导入其中。它在那里工作...
当我放置委派方法时,我得到警告,iOS9中不推荐使用UIAlertView,并且我要在哪台设备上调试(iOS9),但是由于两台设备上的部署目标都是iOS7,这仍然不能正常工作吗?

最佳答案

您是否将警报代表设置为自我代表:

t.delegate = self;


试试吧

更新:并且确保您在NSVerifier的创建位置具有强大的引用,因此在显示UIAlertView之后,以后不会删除UIAlertView委托。例如,在您的ViewController中,在.h中创建iVerifier:

@属性(非原子的,强的)NSVerifier * iVerifier;

只是另一个想法

10-08 07:54
查看更多