问题描述
结果显示在无限集合视图上。
结果一次返回100。
我开始滚动并到达滚动视图的底部。 Flickr还要求另外100个元素,并且一切正常。
如果我继续向下滚动一段时间,进入第5页(元素400-499)后,我开始出现此错误:
NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <D87E6C4C-B8CB-46D1-B891-3E7CDF35ABDF>.<1>"
),NSLocalizedDescription=A server with the specified hostname Could not be found.,NSErrorFailingURLStringKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg,NSErrorFailingURLKey=https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg,_kcfStreamErrorDomainKey=12}
查看网址。
https://farm0.static.flickr.com/0/50255650726_a4c7ba2298.jpg
如果将farm0
更改为farm1
,则会加载图像。
我正在创建图像下载网址,如下所示:
func makeDownloadURL() -> URL{
let path = "https://farm\(farm).static.flickr.com/\(server)/\(id)_\(secret).jpg"
return URL(string: path)!
}
奇怪的是,如果我继续滚动浏览丢失的图像,在某个时候,有效的图像将开始填充集合视图。然后,再次出现问题,再次显示有效图像,如此。
我正在使用它来构建搜索URL
func makeSearchURLComponents(searchString:String) -> URLComponents? {
var components = URLComponents()
components.scheme = "https"
components.host = "api.flickr.com"
components.path = "/services/rest"
let queryMethod = URLQueryItem(name: "method",value: "flickr.photos.search")
let queryAPI = URLQueryItem(name: "api_key",value: flickrAPI)
let queryFormat = URLQueryItem(name: "format",value: retrieveFormat)
let querySafeSearch = URLQueryItem(name: "safe_search",value: SafeSearch.Safe.rawValue)
let querySearchString = URLQueryItem(name: "tags",value: searchString)
let queryPageNumber = URLQueryItem(name: "page",value: String(pageNumber))
let querycallBack = URLQueryItem(name: "nojsoncallback",value: "1")
components.queryItems = [queryMethod,queryAPI,queryFormat,querySafeSearch,querySearchString,queryPageNumber,querycallBack]
return components
}
那是为什么。
解决方法
这似乎是个小问题。
解决方案是在场为零时将场校正为1。
let correctedFarm = farm == 0 ? 1 : farm
规避他们的错误是一种黑客手段。