当我在本地调用此方法时,动画工作正常。但是当它从另一个类调用时,我收到一个Thread 1 SIGABRT错误:"由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' *** - [ __NSPlaceholderArray initWithObjects:count:]:尝试从对象[0]'""
中插入nil对象- (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]
为什么它会在本地工作,而不是从另一个类调用时?我想我错过了一些明显的东西。