如何在Swift项目中导入Objective-C头文件

6

在此输入图片描述

我正在尝试在Swift项目中使用SDWebImage。我将SDWebImage库文件夹拖放到我的Swift项目中,并创建了一个名为listingApp-Bridging-Header.h的桥接头文件。

然后,我将头文件导入到我的Swift文件中,如下所示:

    import UIImageView+WebCache.h  

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{

    let cell : TableViewCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell


    let strTitle : NSString = arrDict[indexPath.row].valueForKey("clip_name") as! NSString

      cell.clipName.text = strTitle as String


    cell.videoImage sd_setImageWithURL=NSURL URLWithString,[NSString stringWithFormat:@"%@%@",K_Server_imageurl,[record valueForKey:@"clip_image_path"]];



        return cell

}

它给我一个错误,说在+之前添加;。我该如何正确地将上述文件导入到我的Swift项目中?


1
可能是如何从Swift调用Objective C代码的重复问题。 - Mtoklitz113
你能展示一下错误吗? - Anbu.Karthik
看一下这个链接,它会帮助你:https://dev59.com/l47ea4cB1Zd3GeqPDp5Q - Anbu.Karthik
@virat,请检查我的答案。 - Pranav
好的,我已经编辑了我的代码,请看一下。现在我应该如何使用sdimage来设置我的ImageView以显示图片? - virat
显示剩余4条评论
2个回答

8
你需要在Build Settings - Swift Compiler Code Generation中添加这个桥接头文件名,如下图所示: enter image description here 还要记得添加以下内容(SDWebImage所需): enter image description here 关于下一步:
imageDownloader.downloadImageWithURL(
                        NSURL(string: urlString!),
                        options: SDWebImageDownloaderOptions.UseNSURLCache,
                        progress: nil,
                        completed: { (image, data, error, bool) -> Void in
                            if image != nil {
                                self.bannerImageView.image = image

                            }
                    })

你拖放了整个项目吗? - Alessandro Ornano
现在它在viewController.swift文件中给我一个错误,说:在这一行导入UIImageView+WebCache.h时出错。就像这样,它会说加上;号,使连续的语句被分隔开。 - virat
现在它在viewController.swift文件中给我一个错误,说在这一行import UIImageView+WebCache.h像这样,它会给我一个错误,说在+号之前添加;,连续的语句必须用;分隔。 - virat
你还需要对项目进行清理,尝试删除DerivedData,然后重新构建所有内容。 - Alessandro Ornano
不要这样,请停止。您不能随时更改问题,而是请打开另一个问题并标记此问题已回答(选择您想要的答案):人们只回答主要问题标题,如果您更改问题内容,此线程将变得完全无法理解。 - Alessandro Ornano
显示剩余4条评论

8

当在桥接头文件中导入头文件时,您需要引用头文件名称。像这样:

#import "UIImageView+WebCache.h";

这与在Objective-C中导入头文件的语法完全相同。

在桥接头文件中导入像 #import UIImageView+WebCatche.h 这样的头文件。 - virat
然后,您应该能够在Swift文件中不导入任何内容的情况下使用Swift代码。 - Fujia
我的代码中引入头文件"UIImageView+WebCatche.h"时出现了错误,提示找不到该文件。 - virat
你需要检查项目头文件搜索路径。添加“伞形”头文件比逐个添加头文件更好。 - Fujia
2
你不需要在你的 Swift 文件中导入任何东西,因为你已经在桥接头文件中导入了它们。 - Fujia
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接