Цель C, не удается загрузить изображение из данных, возвращаемых запросом ASIHTTP - PullRequest
0 голосов
/ 23 марта 2011
- (void)requestFinished:(ASIHTTPRequest *)request
{
    // Use when fetching text data
    NSData *data = [NSData dataWithData:[request responseData]];
    NSData *responseData = [request responseData];


    UIImage *img = [[UIImage alloc ]imageWithData:data];//it blows up here
    self.q.image = img;

    [img release];
    self.request = nil;
    [delegate imageDidLoad:self.indexPathInTableView];

}

Я загружаю данные изображения с помощью запроса ASIHTTP, и он работает нормально. Но если я попытаюсь создать образ, используя данные из запроса ASIHTTP, то он взорвется .. В чем проблема? Заранее спасибо ...

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Это потому, что вы используете imageWithData: для создания своего изображения, вы должны использовать initWithData: или просто [UIImage imageWithData:data] вместо выделения в первую очередь.

Ваш код не работает, потому что imageWithData: - это статический метод в UIImage, который генерирует автоматически выпущенный экземпляр UIImage.Поскольку это статический метод, а не метод экземпляра, он не является распознанным селектором в экземпляре UIImage , который вы получаете при вызове [UIImage alloc]

0 голосов
/ 23 марта 2011

, поскольку ошибка говорит о том, что это нераспознанный селектор.

Вам следует позвонить - (id)initWithData:(NSData *)data.

[[UIImage alloc] initWithData:data];

или

[UIImage imageWithData:data];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...