Если я реализую метод делегата CALayer actionForLayer:forKey
, я могу вернуть [NSNull null]
, чтобы заставить CALayer не анимировать какие-либо изменения. К сожалению, [NSNull null]
не реализует CAAction
делегата и XCode выгоняет следующее предупреждение:Возвращение NSNull от actionForLayer: forKey
предупреждение: класс «NSNull» не реализует протокол «» CAAction
Вот код метода:
- (id<CAAction>)actionForLayer:(CALayer *)theLayer
forKey:(NSString *)theKey {
//This disables the animations when moving things around
//Also, don't animate the selection box. It was doing weird things
if(undoGroupStarted || theLayer == self.selectionBox) {
return [NSNull null];
} else {
return nil;
}
}
Я что-то не так? Возвращает [NSNull null]
плохое поведение? Если да, то каков другой способ сделать то, что я пытаюсь сделать здесь? Если нет, как мне сделать компилятор счастливым?
Да, это избавилось от предупреждения компилятора. Что-то заставляет меня замолчать при запуске NSNull ... но это явно не вызовет никаких проблем, так как я возвращаю NSNull все это время без проблем. Благодарю. – MrHen