Althoug我到处读到方法签名有一个BOOL完成,我永远不会得到错误。这总是如此。而现在奇怪的是:
当我使用%d NSLog时,它总是32或40.我拥有的其他BOOL是1或0.这没有任何意义。所以:不是布尔,对吗?
那是什么呢,真的吗?
答案 0 :(得分:3)
did stop委托选择器的方法签名是
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context;
finished
参数是一个NSNumber
,它包含一个布尔值。在Objective-C和其他语言中,任何非零值都被认为是真的(甚至是负数)。
您可以在NSNumber实例上调用[finished boolValue]
以获得真实的BOOL
,YES
或NO
值。
如果动画在完成动画之前被取消或以其他方式中断,则finished
布尔值将为NO
。如果动画完全运行,那么它将是YES
。
来自文档:
<强>完成强>
包含布尔值的
NSNumber
对象。如果动画在停止之前运行完成,则值为YES
;如果动画没有,则为NO
。