0

当我在本地调用此方法时,动画效果很好。但是,当从另一个类调用它时,我收到一个 Thread 1 SIGABRT 错误:“由于未捕获的异常 'NSInvalidArgumentException',正在终止应用程序,原因:'*** -[__NSPlaceholderArray initWithObjects:count:]:尝试从对象插入 nil 对象[ 0]'"

- (void)test{

animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];

settings_snap_behaviour = [[UISnapBehavior alloc] initWithItem:_orange_ball snapToPoint:CGPointMake(64, 237)];

UIDynamicItemBehavior *ballBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[_orange_ball]];

ballBehavior.elasticity = 1.0;

[animator addBehavior:ballBehavior];

[animator addBehavior:settings_snap_behaviour];

}

实际的方法调用是有效的,因为我用 NSLog 替换了该方法的内容,它运行良好。从我的测试来看,它似乎与 initWithItems:@[_orange_ball] 特别相关

为什么它会在本地工作,但从另一个类调用时却不行?我想我错过了一些明显的东西。

4

0 回答 0