#iphone #ios
#iPhone #iOS
Вопрос:
Я обновил этот вопрос, удалив элементы HUD. Я хочу разделить эту одну строку кода на две.
У меня есть этот вызов:
[service2 PerformInsert:self action:@selector(PerformInsertHandler:) ApplicationID: applicationID ImageData: UIImageJPEGRepresentation([self.capturedImage objectAtIndex:0], 0.5) ImageDataType: @".jpg"];
Я хотел бы разделить его примерно так, но я довольно новичок в Objective-C.
[service2 PerformInsert:self action:????? ApplicationID: applicationID ImageData: UIImageJPEGRepresentation([self.capturedImage objectAtIndex:0], 0.5) ImageDataType: @".jpg"];
[self PerformInsertHandler:????];
Вот метод service2:
- (SoapRequest*) PerformInsert: (id <SoapDelegate>) handler ApplicationID: (int) ApplicationID ImageData: (NSData*) ImageData ImageDataType: (NSString*) ImageDataType
{
return [self PerformInsert: handler action: nil ApplicationID: ApplicationID ImageData: ImageData ImageDataType: ImageDataType];
}
- (SoapRequest*) PerformInsert: (id) _target action: (SEL) _action ApplicationID: (int) ApplicationID ImageData: (NSData*) ImageData ImageDataType: (NSString*) ImageDataType
{
NSMutableArray* _params = [NSMutableArray array];
[_params addObject: [[[SoapParameter alloc] initWithValue: [NSNumber numberWithInt: ApplicationID] forName: @"ApplicationID"] autorelease]];
[_params addObject: [[[SoapParameter alloc] initWithValue: ImageData forName: @"ImageData"] autorelease]];
[_params addObject: [[[SoapParameter alloc] initWithValue: ImageDataType forName: @"ImageDataType"] autorelease]];
NSString* _envelope = [Soap createEnvelope: @"PerformInsert" forNamespace: self.namespace withParameters: _params withHeaders: self.headers];
SoapRequest* _request = [SoapRequest create: _target action: _action service: self soapAction: @"http://tempuri.org/XXXXService/PerformInsert" postData: _envelope deserializeTo: [[XXXInsert alloc] autorelease]];
[_request send];
return _request;
}
Есть ли какой-нибудь способ сделать то, о чем я прошу? Спасибо за любую помощь, которую вы можете предоставить.
Комментарии:
1. Можете ли вы показать документацию для ваших объектов
HUD
иservice2
? Глядя на ваш код, становится ясно, что он не мог работать, но, не зная, как все должно выглядеть, я не могу дать никакого совета.2. Я добавил код server2 и полностью удалил часть HUD. Спасибо за вашу помощь.
Ответ №1:
Рассмотрите возможность использования чего-то подобного:
SEL selector = [service2 performInsert:self
action:@selector(performInsertHandler:)
applicationID:applicationID
imageData:storedImage
imageDataType:@".jpg"]
// show hud
[hud setCaption:@"Working..."];
[hud setActivity:YES];
[hud show];
NSObject result = [self performSelector:selector withObject:nil];
// update hud
[hud setCaption:[NSString stringWithFormat:@"done with %@",result]];
[hud setActivity:NO];
[hud setImage:[UIImage imageNamed:@"19-check"]];
[hud update];
[hud hideAfter:2.0];
В этом примере используется ATMHud. Вы должны называть свои методы в нижнем регистре, blah:blah:
вместо Blah:Blah
. И избегайте написания вложенных предложений длиной 225 символов.
Комментарии:
1. Спасибо за помощь, но я удалил элементы HUD, и мне действительно нужна помощь с обновленным элементом выше. Спасибо