Convert NSNotification.userInfo[UIKeyboardAnimationCurveUserInfoKey] to Enum

ios, swift

Solution

In Beta-5

UIViewAnimationOptions.fromRaw(
    UInt(
        ( p.userInfo[ UIKeyboardAnimationCurveUserInfoKey ] as NSNumber ).unsignedIntValue << 16
    )
)!

Problem

Using NSNumber from NSNotification.userInfo[UIKeyboardAnimationCurveUserInfoKey] In Objective C I would do the following ``` [UIView animateWithDuration:1.0 delay:0 options:(curveValue.intValue << 16) ``` Swift will not allow me to do the same even though the bitshift operator is the same. I would like to get the enum raw value which is equivalent UIViewAnimationOptionCurveEaseInOut = 0 << 16, UIViewAnimationOptionCurveEaseIn = 1 << 16, UIViewAnimationOptionCurveEaseOut = 2 << 16, UIViewAnimationOptionCurveLinear = 3 << 16, update I am not sure if the below approach is correct , it seems to work ``` var animationCurve : UIViewAnimationOptions = UIViewAnimationOptions.CurveEaseOut info[UIKeyboardAnimationCurveUserInfoKey].getValue(&animationCurve) UIView.animateWithDuration(durationValue.doubleValue, delay: 0, options: animationCurve, animations: {self.navigationController.toolbar.frame = myRect}, completion: nil) ```

Original source