2015-10-05 3 views
2

У меня есть рабочие коды с detailTitle, detailDesc строки, но моя строка detailImage, не показывающая мой UIImage. Мои коды под.Swift Загрузить изображение с URL-адреса с объединенными строками

ViewController Здесь приходят мои строки в DetailView контроллер

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    let subcatVC = self.storyboard?.instantiateViewControllerWithIdentifier("Detail") as! DetailViewController 
    subcatVC.detailTitle = self.arrayCategory[indexPath.row][API_PARAM_CAT_NAME] as! String 
    subcatVC.detailDesc = self.arrayCategory[indexPath.row][API_PARAM_DESC_NAME] as! String 
    subcatVC.detailImage = self.arrayCategory[indexPath.row][API_PARAM_CAT_IMAGE] as! String 
    _ = UINavigationController(rootViewController: subcatVC) 
    self.navigationController?.pushViewController(subcatVC, animated: false) 

    NSLog("%@", self.arrayCategory[indexPath.row][API_PARAM_CAT_IMAGE] as! String); 

} 

DetailViewController

class DetailViewController: UIViewController { 

    var detailTitle:String? 
    var detailDesc:String? 
    var detailImage:String? 




    @IBOutlet weak var textim: UILabel! 
    @IBOutlet weak var textbig: UITextView! 
    @IBOutlet weak var imagetbig: UIImageView! 


override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 
} 

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    textbig.text = detailDesc 
    textim.text = detailTitle 


    if let url = detailImage { 
     load_image(url) 
    } 


func load_image(urlString:String) 
{ 




    let imgURL: NSURL = NSURL(string: urlString)! 
    let request: NSURLRequest = NSURLRequest(URL: imgURL) 

    let session = NSURLSession.sharedSession() 
    let task = session.dataTaskWithRequest(request){ 
     (data, response, error) -> Void in 

     if (error == nil && data != nil) 
     { 
      func display_image() 
      { 
       self.imagetbig.image = UIImage(data: data!) 

      } 

      dispatch_async(dispatch_get_main_queue(), display_image) 
     } 

    } 

    task.resume() 
} 

мне нужно;

Лучшие коды работают хорошо, но не показывают изображение, поэтому мне нужно комбинировать строки для моего полного URL-адреса изображения.

NSLog("%@",detailImage) Output = 23423434.jpg 

Моя база URL строка:

let URL_API_HOST2:String = "http://www.bla.com/MyImages/" 

Я хочу комбинируя detailImage и URL_API_HOST2

И я хочу, чтобы показать объединение detailImage строка, как;

http://www.bla.com/MyImages/23423434.jpg 

Мне нужна ваша помощь. TY

ответ

1

Я не уверен, где объявлена ​​ваша строка база URL, но я не понимаю, почему ты не мог просто конкатенации строк:

, например, вместо:

if let url = detailImage { 
    load_image(url) 
} 

вы можете сделать

if let url = detailImage { 
    load_image(URL_API_HOST2 + url) 
} 
+0

WORKS! Большое спасибо чувак;) – SwiftDeveloper

+0

вас очень приветствуют :) –

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