ios - [UIImageView _isResizable] : unrecognized selector sent to instance SIGABRT

标签 ios uiimageview nsmutablearray sigabrt

我有这段代码试图在一个循环中运行一组简单的图像。我在应用程序中只有一个在我的 View Controller 的 .h 文件中声明的 UIImageView:

@property (strong, nonatomic) IBOutlet UIImageView *imageDisplay;

以及我的 .m 文件的 viewDidLoad 方法中的以下内容:

NSMutableArray *imageView = [[NSMutableArray alloc] init];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim1.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim2.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim3.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim4.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim5.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim6.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim7.png"]]];

imageDisplay.animationImages = imageView;
imageDisplay.animationDuration = 0.25;
imageDisplay.animationRepeatCount = 50;
[imageDisplay startAnimating];

代码似乎在“imageDisplay.animationImages”行崩溃,就好像我创建了 UIImageView,创建了它的 getter 和 setter,然后构建,在我取消注释该行之前一切正常。如果我取消注释它,它会一直给我错误,直到我删除 UIImageView 并创建一个新的。

不太确定发生了什么,感谢任何帮助!

最佳答案

我是 objective-c 的新手,我也遇到过这个错误,但原因不同。我只是想将我的解决方案发布给可能遇到困难的任何其他人。

基本上我有一个名为 ImagesDetailViewController 的自定义类,它继承自 UIViewController 并具有图像属性。

@interface ImagesDetailViewController : UIViewController
@property (strong, nonatomic) UIImage *image;
@end

然后我像这样将我的类(class)连接到 Storyboard上的 UIImageView

@interface ImagesDetailViewController ()
@property (nonatomic, weak) IBOutlet UIImageView *imageView;
@end

在我的 viewDidLoad 方法中,我试图像这样为我的 ImageView 设置图像并得到上面提到的错误(我的图像变量在 prepareForSegue 方法中初始化)

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.imageView setImage:self.image];
}

所以我很困惑,因为我敢打赌你们也是。问题与 Storyboard有关。单击我的 UIImageView,然后导航到 Connections Inspector,我以某种方式创建了 2 个引用导出(糟糕...),其中一个指向一个名为 image 的变量。所以当程序运行时 [self.imageView setImage:self.image] self.image 实际上是 UIImageView 的实例而不是 UIImage。

关于ios - [UIImageView _isResizable] : unrecognized selector sent to instance SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610360/

相关文章:

ios - 在 uiimageview 上方绘制和移动图像 - Swift

ios - 添加 UIImage 会忽略 UIImageView 框架并调整其大小

ios - 在 Swift 中将 PaintCode 代码插入 UIImageView

iphone - 在 NSMutableArray 中存储和检索 CGPoints

ios - plist、数组和字典的元素之间是什么关系?

ios - 我可以知道这个最好的 UI/UX 方法是什么吗?

ios - 完成以下错误 "This query has an outstanding network connection. You have to wait until it'。”

android - 从基于网络的移动应用程序本地加载图像/css/js/webfonts

objective-c - setObject :forKey setObject:forKeyedSubscript 和有什么区别

ios - 从部署目标 iOS 中删除特定设备