UIImage+调整大小魔术 | NSInvalidArgumentException | iOS | Swift
UIImage+ResizeMagick | NSInvalidArgumentException | iOS | Swift
我在我的 swift 项目中使用 "UIImage+ResizeMagick"(某些开发人员使用 iOS api 来调整用 obj-c 编写的图像的大小),但是面对问题并出现以下错误:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[UIImage resizedImageByMagick:]: 无法识别的选择器发送到实例 0x7fe74c2065c0'
我知道当那个函数不存在于那个特定的 class 或者如果我们在调用函数时传递了错误的参数时会发生这个错误,但我认为我的代码不是这种情况(如果我没错)
这个 class 写成:"UIImage(ResizeMagick)" 据我所知这是一个类别所以我可以对每个 UIImage 使用这些方法 object.我已将其作为 #import "UIImage+ResizeMagick.h" 导入到我的 class 中并将其用作:
UIImage *image = [UIImage imageNamed:@"validate-icon-tick.png"];
image = [image resizedImageByMagick:@"200x200"];
我在我的项目中使用了多个用 obj-c 编写的库,但我正在使用桥接 header 来达到这个目的。 ResizeMagick 的问题可能是因为 obj-c 和 swift 中的扩展与类别差异。
请告诉我我做错了什么,或者是否可能。谢谢
修复了 swift 中使用扩展名 (cocopods) 的问题。
我在 桥接头 文件中添加了 #import <UIImage-ResizeMagick/UIImage+ResizeMagick.h>
。在控制器中,我将此扩展的方法用作:
let image = oldImage.resizedImageByMagick("200x200")
扩展与类别(在swift和objective-c中)在这里有很好的解释:stack overflow post link
我在我的 swift 项目中使用 "UIImage+ResizeMagick"(某些开发人员使用 iOS api 来调整用 obj-c 编写的图像的大小),但是面对问题并出现以下错误:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[UIImage resizedImageByMagick:]: 无法识别的选择器发送到实例 0x7fe74c2065c0'
我知道当那个函数不存在于那个特定的 class 或者如果我们在调用函数时传递了错误的参数时会发生这个错误,但我认为我的代码不是这种情况(如果我没错)
这个 class 写成:"UIImage(ResizeMagick)" 据我所知这是一个类别所以我可以对每个 UIImage 使用这些方法 object.我已将其作为 #import "UIImage+ResizeMagick.h" 导入到我的 class 中并将其用作:
UIImage *image = [UIImage imageNamed:@"validate-icon-tick.png"];
image = [image resizedImageByMagick:@"200x200"];
我在我的项目中使用了多个用 obj-c 编写的库,但我正在使用桥接 header 来达到这个目的。 ResizeMagick 的问题可能是因为 obj-c 和 swift 中的扩展与类别差异。 请告诉我我做错了什么,或者是否可能。谢谢
修复了 swift 中使用扩展名 (cocopods) 的问题。
我在 桥接头 文件中添加了 #import <UIImage-ResizeMagick/UIImage+ResizeMagick.h>
。在控制器中,我将此扩展的方法用作:
let image = oldImage.resizedImageByMagick("200x200")
扩展与类别(在swift和objective-c中)在这里有很好的解释:stack overflow post link