访问UserDefault阵列URL以填充CollectionView

时间:2018-01-08 01:34:10

标签: arrays swift url nsuserdefaults

这是上一篇文章here的后续内容。

我现在正在尝试访问该数组并使用它来填充我的collectionView。当我尝试下面的代码时,我的imageData返回为nil,即使imageURL正确显示为文件路径,我也会崩溃。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let usD = UserDefaults.standard
    let array = usD.stringArray(forKey: "WeatherArray") ?? []

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! myCell

    let myString = array[indexPath.row]
    let imageUrl = URL(string: myString)!
    let imageData = try? Data(contentsOf: imageUrl)
    let image = UIImage(data: imageData!)
    cell.myImageView.image = image

以下是我的URL(字符串:myString)的示例:

  

文件:///private/var/mobile/Containers/Data/Application/6DD4ED20-F1BB-46DB-8A8C-35C3CFB2B2C6/tmp/01431A0E-F7C2-4A60-B1C6-5C9508C75863.jpeg

另外,检查imageUrl会显示以下错误:

  

打印imageUrl的说明:   表达式产生的错误:错误:/var/folders/np/4m9vk2yd0bzbf74lxrnffccr0000gn/T/expr9-6d45ad..swift:1:65:错误:使用未声明的类型'基础'   Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer< Foundation.URL>(bitPattern:0x1054f86a0)!。pointee)

0 个答案:

没有答案