我在旨在裁剪图像的类别中有以下行:
CGSize mainImageSize = self.size;
当我调用该类别时,应用程序此时崩溃。控制台显示:
size CGSize (width=142, height=142)
mainImageSize CGSize (width=2.121995791459338E-314, height=2.121995791459338E-314)
同样,如果将光标悬停在 self.size 上,它会显示 142,142,而如果将其悬停在 mainImageSize 上,则会显示 2.212...、2.212... 等。
虽然我可以猜到 self.size 可能等于 142x142 的原因——它大约是视图控制器中视图的图像大小 (150x150),但我将这一行解释为我们正在为构造 CGSize 设置一个新变量 mainImageSize,所以我不知道 2.12.. 是从哪里来的。据我所知,mainImageSize 不是保留字,尽管它可能是。我当然没有将它定义为变量。
在 didFinishPickingMediaWithInfo 方法中使用以下行调用此类别,其中选择的图像是选择的图像:
UIImage *thumbnail = [chosenImage createThumbnailToFillSize:CGSizeMake(side, side)];
谁能带我了解这里实际发生的事情,并希望提出一种不会崩溃的方法?
提前感谢您的任何建议。