ARC Проблема: неизвестный метод экземпляра для селектора 'appendPartWithFileData: mimeType: name:' - PullRequest
1 голос
/ 16 марта 2012

При выполнении примера AFNetworking для загрузки формы:

NSURL *url = [NSURL URLWithString:@"https://www.example.com/"];
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:url];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        keyField.text, @"key",
                        valField.text, @"val",
                        nil];

NSData *imageData = UIImagePNGRepresentation(image);

NSURLRequest *request = [client multipartFormRequestWithMethod:@"POST" 
                                                          path:@"/upload" 
                                                    parameters:params 
                                     constructingBodyWithBlock: ^(id <AFMultipartFormData> formData) {
                                         [formData appendPartWithFileData:imageData 
                                                                 mimeType:@"image/png" 
                                                                     name:@"avatar"];
                                     }];

Ошибка компиляции:

ARC Issue: No known instance method for selector 'appendPartWithFileData:mimeType:name:'

Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 16 марта 2012

Подпись в моем AFHTTPClient.h выглядит так:

- (void)appendPartWithFileData:name:fileName:mimeType:

и соответствует документации здесь . Может быть, что образец устарел.

Обновление: см. SO ответ: Как загрузить несколько файлов с AFNetworking

1 голос
/ 16 марта 2012

Немного странно, что компилятор считает это «проблемой ARC».ИМХО протокол AFMultipartFormData не содержит метод с именем appendPartWithFileData:mimeType:name:.Взгляните на документацию, возможно, протокол был реорганизован и сигнатура метода немного изменилась.Я не уверен, откуда взялся AFMultipartFormData, но короткий поиск дал мне эти документы , которые указывают на то, что вы можете добиться успеха с appendPartWithFileData:name:fileName:mimeType:.

...