0

我在旨在裁剪图像的类别中有以下行:

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)];

谁能带我了解这里实际发生的事情,并希望提出一种不会崩溃的方法?

提前感谢您的任何建议。

4

1 回答 1

0

这:

mainImageSize   CGSize  (width=2.121995791459338E-314, height=2.121995791459338E-314)

您获得的似乎是某种 FLOAT_MIN 值,您确定该实例存在吗?你用来创建拇指的方法怎么样,你确定它工作正常吗?

于 2015-05-13T14:26:47.917 回答