Я действительно новый и любопытный для разработки iOS и слежу за руководствами, документами readme и учебниками, которые пытаются работать над небольшим небольшим проектом. У меня есть следующий класс, который очень хорошо работает при печати данных json
с веб-сервера. Я могу видеть данные json
, напечатанные на моей консоли в Xcode, однако я хотел бы использовать SDWebimage
для загрузки/кэширования изображений из данных json
и в мой UIImageView
, который находится внутри моего UICollectionView
- оба из которых я создал в раскадровке для этого класса.Загрузка URL-адресов из JSON в SDWebimage
Может кто-нибудь указать мне в правильном направлении? Как она стоит моя UICollectionView
просто пусто, когда я загружаю следующее:
import UIKit
import SDWebImage
class TopratedVC: BaseViewController {
@IBOutlet var collectionview: UICollectionView!
//Our web service url
let URL_GET_coffeemugs:String = "http://coffeemugs.com/ios/feed.php"
override func viewDidLoad() {
super.viewDidLoad()
addSlideMenuButton()
// Do any additional setup after loading the view.
//SDWebimage stuff
let imageView = UIImageView()
//created NSURL
let requestURL = NSURL(string: URL_GET_coffeemugs)
//creating NSMutableURLRequest
let request = NSMutableURLRequest(URL: requestURL!)
//setting the method to post
request.HTTPMethod = "GET"
//creating a task to send the post request
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
data, response, error in
//exiting if there is some error
if error != nil{
print("error is \(error)")
return;
}
//parsing the response
do {
guard let coffeemugs = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSArray else {
//Doesn't exist, or isn't an NSArray
return
}
for coffeemug in coffeemugs {
//getting the data at each index
let coffeemugName = coffeemug["name"] as! String
let coffeemugDirectLink = coffeemug["direct_link"] as! String
let coffeemugImage = coffeemug["image"] as! String
//displaying the data
print("name -> ", coffeemugName)
print("direct_link -> ", coffeemugDirectLink)
print("image -> ", coffeemugImage)
print("===================")
print()
}
} catch {
print(error)
}
}
//executing the task
task.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Я пытался загрузить его, используя метод ниже, но это не приводит к загрузке изображения:
NSString *imageString = [[_imgurArray objectAtIndex:indexPath.row] objectForKey:@"direct_link"];
[imageView setImageWithURL:[NSURL URLWithString:imageString]];
cell.backgroundView = imageView;
Does 'coffeemug [" image "]' содержит строку url изображения? – pkc456
Как 'coffeemugDirectLink', так и' coffeemugImage' - это URL-адрес изображения на самом деле. – user3591436
Что делает '_imgurArray'? Является ли это копией 'coffeemugs' или содержит только строку url изображений? – pkc456