2016-01-11 1 views
0

Я заявляемый способ, как:Как вызвать метод с блоком в Object C?

- (void) authorizeUser:(OauthObject *) user withUsername: (NSString *) username withPassword: (NSString *) password completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error)) CallCompletion; 

Я пытаюсь вызвать этот метод вроде как:

[[ManagerServerRequest sharedManagerServerRequest] authorizeUser:(OauthObject *) withUsername:self.login.text withPassword:self.login.text completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     // TODO 
    }] 

Где ManagerServerRequest sharedManagerServerRequest является Синглтон объект.

Я получаю сообщение об ошибке: use undeclared identifier WithUsername

Как назвать этот метод правильно?

Обзор: прохожу oauthObj:

OauthObject* oauthObj = [[OauthObject alloc] init]; 

[[ManagerServerRequest sharedManagerServerRequest] 
authorizeUser: oauthObj and: 
withUsername:self.login.text 
withPassword:self.login.text 
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
    // TODO 
}] 

я ошибка

+4

Это сообщение об ошибке не соответствует коду. – trojanfoe

+6

'authorizeUser: (OauthObject *)' у вас вроде бы должен быть объект ... –

+0

Что вы имеете в виду? Я действительно отправляю объект OauthObject – Bababa

ответ

1

Проблема не имеет никакого отношения к блоку синтаксиса. В коде

[[ManagerServerRequest sharedManagerServerRequest] 
    authorizeUser:(OauthObject *) 
    withUsername:self.login.text 
    withPassword:self.login.text 
    completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     // TODO 
}] 

Вы пропускаете фактический аргумент для authorizeUser:, замените (OauthObject *) с реальным объектом, и вы прекрасно.

+0

Получаю также ошибку. Я обновил вопрос – Bababa

+0

OP, удалите экстрасенсы 'и:' из кода вашего обновления. Откуда это произошло? – SmokeDispenser

0

код не компилируется, но это то, что вы сказали в своем вопросе в любом случае :-)

Из сообщения об ошибке, это выглядит, как вы используете WithUsername, когда вы должны использовать withUsername.

+0

OP действительно не копировал-вставлял ошибку, а делал несколько опечаток при расшифровке. Помимо неправильной транскрипции, проблема (и решение), которую я описал в моем ответе, является соответствующей частью. – SmokeDispenser

Смежные вопросы