Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift致命错误:在展开可选值uiimage时意外发现nil_Ios_Swift_Uiimageview_Uiimage - Fatal编程技术网

Ios Swift致命错误:在展开可选值uiimage时意外发现nil

Ios Swift致命错误:在展开可选值uiimage时意外发现nil,ios,swift,uiimageview,uiimage,Ios,Swift,Uiimageview,Uiimage,将UIImage分配给UIImageView的属性映像时出错 func connectionDidFinishLoading(connection: NSURLConnection!) { var err: NSError var jsonResult : NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: n

将UIImage分配给UIImageView的属性映像时出错

func connectionDidFinishLoading(connection: NSURLConnection!) {
  var err: NSError
  var jsonResult : NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
  println("\(jsonResult)")
  if jsonResult.count > 0 {
    let homepage = jsonResult.objectForKey("homepage") as NSMutableDictionary
    if homepage.count > 0 {
      let imageUrl = homepage.objectForKey("url_img") as NSString
      let backgroundImageUrl = NSURL.URLWithString(imageUrl)
      let backgroundImageData = NSData(contentsOfURL: backgroundImageUrl)
      var image :UIImage = UIImage(data: backgroundImageData)
      println("\(image)")
      self.backgroundImage.image = image
    }
  }
}
它是来自get请求的委托函数。
backgroundImageData
image
不是零,但它不工作,我不明白

我是Swift:s的新手

此代码与objective-C一起工作

NSString *imageUrl = [metaData objectForKey:@"url_img"];
NSURL *backgroundImageUrl = [NSURL URLWithString:imageUrl];
NSData *backgroundImageData = [NSData dataWithContentsOfURL:backgroundImageUrl];
self.backgroundImage.image = [UIImage imageWithData:backgroundImageData];

数据是好的,图像不是零。错误不在这里的代码上,而是在完成请求的地方。 请求需要一个委托对象,我以为我给了它一个控制器,但它不是控制器实例,HomeController()
我的错^^“

你真的需要开始充分发挥swift的潜力。如果你可能不总是有图像,你应该使用:
如果让image=UIImage(数据:backgroundImageData){self.backgroundImage.image=image
}如果image肯定不是nil,那么我所能建议的就是不要调用var image?在以前的Xcode beta中,我偶尔会遇到将变量命名为与属性相同的问题。在Xcode 6.1之前,初始化器无法返回可选值,并且您在这里使用两个不同的初始化器,用于这两种情况数据和图像。我会尝试立即将它们转换为带有
作为数据?
作为UIImage?
的选项,然后查看您得到了什么。当您记录图像时,它会打印什么?您是否正确地将图像视图添加为子视图?检查背景图像的框架。检查它的superview。您是否正确地连接了它?您是否已使用c检查它是否是正确的Url?为backgroundview添加颜色,以确保添加正确且大小正确。请显示如何设置backgroundImage属性。