创建 UIImage 时出错

Error when creating UIImage

我正在尝试在从地址簿导入联系人时创建缩略图。

我使用的方法在显示的行崩溃。

@implementation UIImage (Thumbnail)
-(UIImage *) createThumbnailToFillSize:(CGSize)size
{
    CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES

    UIImage *thumb;

控制台中的最后几行是:

self    UIImage *const  0x7fb2ee0994e0  0x00007fb2ee0994e0
size    CGSize  (width=142, height=142) 
mainImageSize   CGSize  (width=10, height=0)

我认为错误可能与 height=0 有关,但我不知道如何更改它或 self.size 真正指的是什么。

我正在使用的代码来自一本关于学习的书 IOS。

有没有人看到这个或者可以建议如何修复?

编辑:

代码调用类别

// ...get permission to open contact, begin to extract contact info
     if (ABPersonHasImageData(addressBookRecord)) {
                CFDataRef imageData = ABPersonCopyImageData(addressBookRecord);

                UIImage *fullSizeImage = [UIImage imageWithData:(__bridge NSData *)imageData];

                CGFloat side = 71.f;
                side *= [[UIScreen mainScreen] scale];

                UIImage *thumbnail = [fullSizeImage createThumbnailToFillSize:CGSizeMake(side, side)];

                self.imageData = UIImageJPEGRepresentation(thumbnail, 1.f);

                CFRelease(imageData);
            }

在下面的行中尝试 size 而不是 self.size:

CGSize mainImageSize = self.size;//LINE WHERE IT CRASHES