【问题标题】:How to import and use SDWebImage in swift xcode 6.3.1如何在 swift xcode 6.3.1 中导入和使用 SDWebImage
【发布时间】:2015-05-02 16:26:31
【问题描述】:

我是Swift 的新手,现在正在制作一个项目,其中包括展示来自网络的许多照片,我知道我需要使用SDWebImage。 我在这里和其他地方看到了相关的问题,但都在 Objective-C 语法中,不适合我。

到目前为止我做了什么:

  1. 我从 GitHub 下载了 zip
  2. 已将SDWebImage 文件夹复制到我的文件夹中
  3. 尝试了import 的所有可能组合

#import <"SDWebImage/UIImageView+WebCache.h">

import SDWebImage/UIImageView+WebCache.h

等等。

有人可以帮我导入吗

【问题讨论】:

    标签: ios xcode uitableview swift sdwebimage


    【解决方案1】:

    首先,您需要配置Bridging Header,它被描述为here at SO。使用以下内容:

    #import <SDWebImage/UIImageView+WebCache.h>
    

    这会将Objective-C 代码导入Swift 代码

    其次,随便用,比如:

    self.imageView.sd_setImageWithURL(self.imageURL)
    

    【讨论】:

      【解决方案2】:

      据我了解,您已经有一个桥接头,只需要组织您的导入。由于您在不使用 cocoapods 或 Carthage 的情况下将源文件直接复制到项目中,因此您可以像这样进行导入:

      #import "UIImageView+WebCache.h"
      

      【讨论】:

        【解决方案3】:

        Swift 3.0 代码

        import SDWebImage
        
        let url = URL.init(string: "https://vignette3.wikia.nocookie.net/zelda/images/b/b1/Link_%28SSB_3DS_%26_Wii_U%29.png")
        
          imagelogo.sd_setImage(with: url , placeholderImage: nil)
        

        【讨论】:

          【解决方案4】:

          在 swift 5.1 中,只需导入 SdWebimage 并使用扩展

          扩展 UIImageView{

          func downloadImage(url : String, placeHolder : UIImage?) throws{
              if let url = URL(string: url){
                  self.sd_imageIndicator?.startAnimatingIndicator()
                  self.sd_setImage(with: url) { (image, err, type, url) in
          
                      if err != nil{
                              self.sd_imageIndicator?.stopAnimatingIndicator()
                              print("Failed to download image")
                          }
                          self.sd_imageIndicator?.stopAnimatingIndicator()
                      }
                  }
          
              }
          }
          

          【讨论】:

            【解决方案5】:

            它对我有用的唯一方法(使用 mac os 10.11.4 和 ios 9.3)是这样的:

            1. 从链接下载和解压框架:https://github.com/rs/SDWebImage/releases/download/3.6/SDWebImage-3.6.framework.zip:

            2. 将该框架拖入 x-code 项目并选中选项:如果需要,请复制项目(在项目导航器中,您现在应该会看到包含 .h 文件的文件夹的手提箱图标)

            3. 新建桥接头文件:cmd+n -> file -> new -> file...并选择“header”模板图标
            4. 打开那个文件,写一行(就在#endif: 上方)#import (这是来自框架的头文件之一的路径)

            5. 上面@Azat 回答中最重要的一步是在构建设置中将您刚刚创建的文件与项目连接起来:

              • 选择项目名称(项目导航器中的蓝色图标)
              • 在右侧开始选择“构建设置”,键入“桥接头...”,当您有包含“Objective-C 桥接头”的行时
              • 在该行的空白字段中按两次(弹出窗口),然后将桥接头文件从项目导航器拖到该窗口中。

                1. 希望现在您可以将库方法用作:imageView.setImageWithUrl(url, placeholderImage:)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多