直接贴代码var image = UIImage(contentsOfFile: NSBundle.mainBundle().pathForResource(imageName, ofType: imageType)!)
这样去取我放在 Image.xcassets 里面的图片 路径是nil
里面的图片我是让美工做的 单倍的PDF的矢量图  在oc里一直这么用,但是到了swift就不行了!求大神指点!还有 就是 swift 很多报错没有信息,是Xcode还不完善吗?记得当初oc也是这样

解决方案 »

  1.   

    图片应该是png格式的吧, 出现这种问题,还是首先检查一下你的图片资源。1.是图片格式是否是合法的,2. 图片资源是否被添加到工程中。 
    如果上述的图片资源没有问题,那么查检一下,你代码中指定的图片名称及类型是否正确。上面的代码可以进行分解
    var path =  NSBundle.mainBundle().pathForResource(imageName, ofType: imageType)  /////返回的是个optional的可选值
    //////使用值绑定的方式
    var image:UIImage?
    if let tmpPath = path {
           image = UIImage(contentsOfFile: tmpPath);
    }
      

  2.   

    用 URLForResource 能不能返回?
      

  3.   


    也不能哦!
    太太,我也怀疑是你的图片有问题了
    不是图片的问题,在oc上我都这么用,给imageSet 提供一张单倍的 PDF的矢量图片  能再程序里调用
    而且在swift 上 用UIImage(name:"xxx.png")也能调用
      

  4.   

    你的图片是放在某个目录里的吧?像这样:那你要写上这个目录的目录名,因为它会编译到 Build Folder 里。
      

  5.   

    那就麻烦了,因为苹果只建议用 imageWithNamed 方法来访问 Images.xcassets 中的图片:
    文档在此:https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html#//apple_ref/doc/uid/TP40013303-CH1-SW1我试过了,除非你自己用一个 Group 在 Xcode 工程里单独管理图片,不然用 pathForResource 访问不到
      

  6.   

    Quote: 引用 8 楼 zhangao0086 的回复:
    好吧,谢谢您啦!那为什么oc就可以呢!不明白!