小编use*_*728的帖子

如何使用Alamofire在swift中加载图像

我有一个集合视图控制器,它通过URL加载图像Async.(像Instegram这样的东西)我正在寻找实现加载图像部分的最佳方法.请告诉我你的想法

第一种方式 - 没有任何外部库:

   let downloadQueue = dispatch_queue_create("com.pro.asyncImages",nil)
    dispatch_async(downloadQueue){

        var data = NSData(contentsOfURL: NSURL(string: pictureUrl!)!)

        var image: UIImage?
        if (data != nil){
            image = UIImage(data: data!)
        }
        dispatch_async(dispatch_get_main_queue()){
            uiImageView.image = image
        }
    }
Run Code Online (Sandbox Code Playgroud)

第二种方式 - 使用Alamofire(请求属于Alamofire)

if let  mediaUrl = info.mediaUrl {
        request(.GET,mediaUrl).response(){
            (_, _, data, _) in
            let image = UIImage(data: data! as NSData)
            imageView.image = image
        }
    }
Run Code Online (Sandbox Code Playgroud)

最后,我读到AFNetworking在将url异步加载到urlImage方面做得很好,这就是我想要做的.

那么AFNetworking更适合这项任务吗?(然后是Alamofire)如果没有,我不明白如何将AFNetworking添加到我的swift项目中,除了添加#import"AFNetworking.h",我需要添加哪些文件?

请解释哪种方法最好,我的需求是性能,指责,缓存.视图集合控制器就像Instegram一样,正在加载图像,同时向下滚动.我希望我对自己需要的东西足够清楚,谢谢

afnetworking swift alamofire

28
推荐指数
6
解决办法
7万
查看次数

UIActivityViewController仅共享文本

我想使用UIActivityViewController分享简单的文本我使用swift,使用xcode 6.3代码非常简单,非常适合照片,但不仅仅是文本,我不想包含任何带有objectsToShare的web URL,只是干净的文本这是代码:

var objectsToShare: ["some text to share"]! 
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

//handler for completed task
activityVC.completionHandler = {(activityType, completed:Bool) in
            if !completed {
                println("cancelled")
                return
            }
reportCompleted() //report to server it's done.
 }

//Excluded Activities Code
activityVC.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList, UIActivityTypeCopyToPasteboard ]

//activate the share view
self.presentViewController(activityVC, animated: true,  completion: {
            (complete)  in
            println(complete)

        })
Run Code Online (Sandbox Code Playgroud)

现在我知道这一切都取决于用户有Facebook - 不仅在他的手机上,而且在他的设置上.(我直接从我的手机6尝试了这个,它有Facebook设置,而不是来自模拟器)这个代码曾经工作正常,仍然适用于图像,而不是文本,但由于某种原因,它停止工作文本共享,也许文本本身有关,也许我的代码不好,或者Facebook,改变一些东西.

感谢您对此主题的任何想法.

为了让事情更奇怪,我发现了两件更奇怪的事情.

  1. 发布文本的代码正在模拟器上工作(只要你在设置facebook中添加)
  2. 如果我添加到网址,它也可以工作(在设备中)如果我删除网址它不起作用.

//有效的代码:

var myWebsite = NSURL(string: "http://www.someurl.com/")

    let textToShare = "Swift is awesome!  Check …
Run Code Online (Sandbox Code Playgroud)

facebook sharing uiactivityviewcontroller swift ios8.4

7
推荐指数
2
解决办法
1万
查看次数