- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 facebook 获取图片 url。当图像很大时,它会返回 nil 图像,但图像会显示在浏览器中。
我在 StackOverflow 上看到了同样的问题,但它不起作用,data1 返回 null 请检查此代码:
self.delegate.getFacebook_TimeLIne_image = "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xfp1/v/t1.0-9/s720x720/12004969_1700631703502015_9114538119221669760_n.jpg?oh=a8ebcac0b2c4152a34855d1c82be3ffe&oe=5696E6BF&__gda__=1449299822_646985c21bc069691493b674069f88ab"
var getUrl_back:String = self.delegate.getFacebook_TimeLIne_image
if(!getUrl_back.isEmpty)
{
if let url = NSURL(string: getUrl_back) {
let data1 = NSData(contentsOfURL: url)
println(data1)
}
}
显示图像还有其他选项吗,因为此图像在 Android 中有效,所以为什么在 ios 中请给我解决方案
最佳答案
正如@karthikeyan 所说,您应该使用异步调用。如果你不这样做,主线程将被阻塞,直到 Facebook 图片被下载。
关于异步调用你应该有类似的东西:
dispatch_async(dispatch_get_main_queue(), {
...
}
查看 GCD 文档以获取更多信息 https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/
如果当您访问一个大文件时它只返回 nil,那么您的设备似乎无法分配足够的内存来处理它。
尝试获取返回的特定错误:
var error: NSError?
let data1 = NSData(contentsOfURL:url , options: nil, error: &error)
if let err = error{
println(err)
} else {
println(data1)
}
此外,您不应使用 NSData(contentsOfURL) 来检索大文件,而应使用文档中所述的 NSInputStream:
This method is ideal for converting data:// URLs to NSData objects, and can also be used for reading short files synchronously. If you need to read potentially large files, use inputStreamWithURL: to open a stream, then read the file a piece at a time.
关于swift - NSData contentsOfUrl 在图像很大时返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665630/
我这里有这段代码: let endpointURL = URL(string: "http://foobar.com") let downloadTask = URLSession.shared.do
从服务器解析 XML 文件时,我总是使用“init(data: Data)” let url = URL(string: urlString) let data = NSData(contents
之前的代码: if let resultOfURL = try? String(contentsOfURL:myURL!, encoding: String.Encoding.utf8) { 现在抛出
public convenience init(nsurl:NSURL) { var enc:NSStringEncoding = NSUTF8StringEncoding var e
我正在尝试访问我在 PHP 中创建的 API。它在浏览器中运行良好,但我无法获取此代码以从任何给定网页获取任何类型的数据。 var jsonData: NSData = NSData(contents
我试图简单地从 url 获取 jpeg 图像,但是当使用带有 contentsOfUrl 的 NSData 时返回 nil。 let aString = "http://fbcdn-sphotos-g
我从 facebook 获取图片 url。当图像很大时,它会返回 nil 图像,但图像会显示在浏览器中。 我在 StackOverflow 上看到了同样的问题,但它不起作用,data1 返回 null
之前的这段代码: if let resultOfURL = try? String(contentsOfURL:myURL!, encoding: String.Encoding.utf8) { 现在
我在 StackOverflow 上发现了几个类似的问题,但没有一个能解决我的问题。 我正在尝试从 url 获取图像。这是我的做法: let url = NSURL(string: "http://p
我正在使用 NSOperation 来下载图像。这些图像在 Collection View 中使用。使用 Instruments 我找不到内存使用增加的原因(我仍然发现很难理解 Instruments
我一直在为 watchOS 2 开发一个应用程序,我相信我的函数,它使用 NSData(contentsOfUrl) 下载一些 JSON 数据,可能太重了,导致应用程序崩溃。我的研究使我相信 NSUR
我正在尝试使用 contentsOfURL 从服务器获取 NSData。当 iPhone 连接到 wifi 时,它工作正常。但是当没有连接到 wifi 时,我的应用程序崩溃并显示 EXC_BREAKP
我从 DocumentPicker(iCloud、保管箱等)下载文件。此文件可以是 .pages、.docx、.pdf... 当我想将其转换为NSData用于文件上传时,我总是收到一个nil值: if
我在一个新的 Playground 上有这段代码 import Foundation let blogsURL: NSURL = NSURL(fileURLWithPath: "/Users/Fran
我有一个包含这些内容的 Swift 4.1 (Xcode 9.3) Playground,它以一种不明显的方式失败了。 import UIKit let url: URL = URL(string:
我按照教程回复:how to create an MP3 Player in Swift我遇到了 Swift 1.2 和 Swift 2.0 之间语法发生变化的地方。 我遇到了以下方法的错误处理问题:
在升级到 XCode6.1 之前,我使用的是 NSData.dataWithContents() 方法,它运行良好,所有图像都在下载。今天我已经更新到 XCode 6.1,它迫使我使用这样的函数: N
我有一个包含 JSON 文件的网页地址。我正在尝试在 Swift 2 中以 NSDictionary 的形式访问 JSON 文件。每次我调用 NSData(contentsOfURL:url!) 时,
这在 Xcode 6 中有效,但在新的更新中失败了: if var url = String(contentsOfURL: request.URL, encoding: NSUTF8StringEnc
我使用 Swift 4.1 和 XCode 9.3 var upsList = [Any]() func loadUpsValues () { print("loadUpsValues")
我是一名优秀的程序员,十分优秀!