#iphone #ios #web-services #sudzc
#iPhone #iOS #веб-сервисы #sudzc
Вопрос:
Я делаю простую смену пароля через проект веб-службы, используя sudzc для генерации запросов SOAP.
Когда я запускаю проект, я просто продолжаю ничего не получать в симуляторе.
Вот мой код:
.h
#import <UIKit/UIKit.h>
@interface ChangePasswordViewController : UIViewController {
NSString *CPstr1;
NSString *CPstr2;
NSString *CPstr3;
IBOutlet UITextField *CPText1;
IBOutlet UITextField *CPText2;
IBOutlet UITextField *CPText3;
}
@property (nonatomic,retain) IBOutlet UITextField *CPText1;
@property (nonatomic,retain) IBOutlet UITextField *CPText2;
@property (nonatomic,retain) IBOutlet UITextField *CPText3;
@property (nonatomic,retain) IBOutlet UITextView *CPResu<
-(IBAction) CPSendString;
@end
viewcontroller.m
#import "ChangePasswordViewController.h"
#import "MINEHBJTService.h"
@implementation ChangePasswordViewController
@synthesize CPText1,CPText2,CPText3;
@synthesize CPResu<
//to send the user's old and new password to CPstr
-(IBAction) CPSendString{
CPstr1 = [[NSMutableString alloc] initWithString:CPText1.text];
CPstr2 = [[NSMutableString alloc] initWithString:CPText2.text];
CPstr3 = [[NSMutableString alloc] initWithString:CPText3.text];
MINEHBJTService *service = [[MINEHBJTService alloc] init];
[service ChangePassword: self action: @selector(handleChangePassword:)
sUserID:CPstr1 sPassWord:CPstr2 sNewPassword:CPstr3];
return;
}
-(void) hadleChanePassword:(int)value{
int result = value;
if(result==1){
CPResult.text = @"Change password sucessed";
}
else {
CPResult.text = @"Change password failed";
}
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[CPstr1 release];
[CPstr2 release];
[CPstr3 release];
CPResult.text = @"";
[ MINEHBJTService release];
[super dealloc];
}
@end
Ответ №1:
В вызове службы вы определяете метод обратного вызова как handleChangePassword
. Однако фактическая реализация этого метода неправильно указана как hadleChanePassword
.
Исправьте название, и вы должны начать видеть что-то в поле вывода в симуляторе.