我正在开发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;
只是另一个想法