我剛接觸iOS編程,現在我編寫了一個必須連接到SOAP WS的應用程序。我使用互聯網(SudzC)的軟件來爲WS生成包絡類。要接收來自服務的響應,它使用@selector
,它將執行傳遞給響應處理程序例程。儘管如此,當程序流進入響應的處理程序時,它會返回到初始例程(完成其工作後),但令我驚訝的是,我發現調用例程已完成,並且在那之後調用了處理程序例程。可能是我不明白iOS程序流程!@selector如何影響iOS中的程序流程?
有關涉及@selector的程序流程的下降說明嗎?
編輯: 下面是示例代碼:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
WS* service = [WS service];
service.logging = YES;
[service WS_Method:self action:@selector(WS_MethodHandler:) iParam1: 1 sParam2: @"string" iParam3: 1];
NSLog(@"!!! Finish !!!");
}
- (void) WS_MethodHandler: (id) value {
// Handle errors
if([value isKindOfClass:[NSError class]]) {
NSLog(@"%@", value);
return;
}
// Handle faults
if([value isKindOfClass:[SoapFault class]]) {
NSLog(@"%@", value);
return;
}
WS_CheckIussue* result = (WS_CheckIussue*)value;
NSLog(@"WS_CheckIussue returned the value: %@", result);
NSLog(@"!!! Finish !!! 2");
}
因此,我有!完成!在那之後 !!!完成! 2
-1因爲你沒有發佈任何代碼。 – SevenBits 2014-09-25 13:08:24
我沒有發佈任何代碼,因爲我認爲這是一些普遍的行爲。我編輯我的問題。 – new2ios 2014-09-25 13:11:31
@SevenBits您不需要*在問題或答案中發佈代碼。 +1來補償。 – Droppy 2014-09-25 13:15:13