Thursday, 15 April 2010

objective c - Set delegate:self.delegate in an alertView where self.delegate implements UIAlertViewDelegate protocol -



objective c - Set delegate:self.delegate in an alertView where self.delegate implements UIAlertViewDelegate protocol -

in viewcontroller have implemented uialertviewdelegate , in model have method creates uialertview delegate set self.delegate instance of viewcontroller. seek phone call willpresentalertview (in model):

uialertview *alert = [[uialertview alloc] initwithtitle:@"invalid operation" message:@"cannot split 0!" delegate:self.delegate cancelbuttontitle:@"cancel" otherbuttontitles:@"undo division",nil]; [self.delegate willpresentalertview:alert];

the willpresentalertview implemented in viewcontroller this:

- (void)willpresentalertview:(uialertview *)alertview { [alertview show]; }

i error thread 1:exc_bad_access (code=2,adress=0xbf7fff6c) when calling [alert show].

if set delegate nil or self works fine, want phone call alertview:alertview clickedbuttonatindex:buttonindex when press button on alert, doesn't work delegate set nil or self. viewcontroller implements these methods, why should self.delegate, or?

i want model invoke alert, want viewcontroller handle alert methods such alertview:alertview clickedbuttonatindex:buttonindex.

how can done?

it should self [self willpresentalertview:alert]

uialertview *alert = [[uialertview alloc] initwithtitle:@"invalid operation" message:@"cannot split 0!" delegate:self //self cancelbuttontitle:@"cancel" otherbuttontitles:@"undo division",nil]; [self willpresentalertview:alert];//self 1 time again

objective-c xcode delegates uialertview uialertviewdelegate

No comments:

Post a Comment