0
func generateMemedImage() -> UIImage {
let memeImage = imageView.image!
let newImageViewOriginAndDimension = self.view.frame
let originalImageViewOriginAndDimension = imageView.frame
rescaleImageView(newImageViewOriginAndDimension, image: memeImage)
print(imageView.frame) // has fatal error unexpectedly found nil
// other unrelated lines of code
}
func rescaleImageView(originAndDimension: CGRect, image : UIImage) {
let newImageView : UIImageView = UIImageView(frame: originAndDimension)
newImageView.image = image
imageView = newImageView
print(imageView.frame) // prints fine
}
所以我有兩個功能上面爲什麼我能夠運行在功能rescaleImageView
,但不是在generateMemedImage
函數執行print(imageView.frame)
沒有錯誤可以有人向我解釋?致命錯誤:意外發現零
我是正確的假設,當我創建我的generateMemedImage
功能newImageView
我沒有實際分配班裏imageView
變量newImageView
而只是重新分配指針本地在我的功能?
'imageView'屬性是如何聲明的?這是「弱」還是「無主」? – Adam
是啊,它很弱,哦,對,因爲當我重新分配它的時候,參考時間會釋放指向它的指針? – YellowPillow