【发布时间】:2015-04-18 09:48:18
【问题描述】:
我创建了一个结构,其中我有一个属性“_photo”,当调用计算属性“照片”时,该属性被延迟分配。我不断收到错误
无法分配给“self”中的“_photo”
这里是代码。我用 Swift 1.1 (photo1) 和 swift 1.2 (photo2) 语法编写了计算方法。两者都给出与上述相同的编译时错误。
需要进行哪些更改才能修复该错误?
import UIKit
public struct PhotoStruct {
var _photo:UIImage?
var urlString:String?
init(image:UIImage?, url:String?){
self._photo = image
self.urlString = url
}
init(url:String?){
self.urlString = url
}
var photo1:UIImage? {
if let theURL = self._photo {
return self._photo
}else{
if let urlString = self.urlString{
if let url = NSURL(string: urlString as String){
if let imageData :NSData = NSData(contentsOfURL: url){
if let image:UIImage = UIImage(data:imageData){
self._photo = image //** Cannot assign error is here**
}
}
}
}
return self._photo
}
}
var photo2:UIImage? {
if let theURL = self._photo {
return self._photo
}else{
if let urlString = self.urlString,
url = NSURL(string: urlString as String),
imageData :NSData = NSData(contentsOfURL: url),
image:UIImage = UIImage(data:imageData){
self._photo = image //** Cannot assign error is here**
}
return self._photo
}
}
}
【问题讨论】:
标签: swift