Я установил успешный синтаксический анализ текста и изображений в виде таблицы с использованием JSON/PHP/MYSQL. Я сохраняю только расположение изображений в базе данных, а фактические изображения хранятся в каталоге на моем сервере. Единственное, что хранится в отношении изображения в базе данных, это имя. Пример car.jpg. То, что я хочу сделать, - это префикс URL-адреса местоположения изображения на моем сервере, чтобы они могли быть проанализированы без необходимости входить в БД и вручную вводить URL-адрес. Вот некоторые из моего кода ...JSON Image Parsing/Prefixed URL
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"studentsCell";
StudentsCell *cell = (StudentsCell *)[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"StudentsCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
NSDictionary *studentsDict = [students objectAtIndex:indexPath.row];
//I want to prefix the URL for the key imagepath but i dont know where and how to do it.
NSURL *imageURL = [NSURL URLWithString:[studentsDict objectForKey:@"imagepath"]];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *imageLoad = [[UIImage alloc] initWithData:imageData];
cell.imageView.image = imageLoad;
NSString *name = [NSString stringWithFormat:@"%@ %@", [studentsDict valueForKey:@"first"], [studentsDict valueForKey:@"last"]];
cell.title.text = name;
NSString *subtitle = [NSString stringWithFormat:@"%@", [studentsDict objectForKey:@"email"]];
cell.subtitle.text = subtitle;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(265, 6, 44, 44);
[button setImage:[UIImage imageNamed:@"email.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(email:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:button];
// cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cellbackground.png"]];
return cell;
}
Никогда не используйте ____withContentsOfURL в коде пользовательского интерфейса. Он блокирует основной поток - ваше приложение будет казаться «рывком», если вам повезет, и он просто повесит полностью (и в конечном итоге падает), если вам не повезло. Используйте что-то вроде MKNetworkKit, у которого есть хорошая категория в UIImageView под названием imageAtURL: – jsd