CRToast icon indicating copy to clipboard operation
CRToast copied to clipboard

kCRToastTimeIntervalKey issue with Xcode 8.1 swift 3

Open rogomantik opened this issue 8 years ago • 4 comments

I have this error in the log [CRToast] : ERROR given 0.4 for key kCRToastTimeIntervalKey was expecting Class __NSCFNumber but got Class _SwiftTypePreservingNSNumber, passing default on instead

rogomantik avatar Nov 01 '16 10:11 rogomantik

also ERROR given 1 for key kCRToastTextAlignmentKey was expecting Class __NSCFNumber but got Class _SwiftTypePreservingNSNumber, passing default on instead

fixed by setting

kCRToastTimeIntervalKey                 : NSNumber(value: 0.4),
kCRToastTextAlignmentKey                : NSNumber(value: NSTextAlignment.center.rawValue),

but when appear the notification the whole ui flashes

rogomantik avatar Nov 01 '16 10:11 rogomantik

Noticed same error in log, but proposed fix was not worked for me.

Actually, problem exists because ObjC and Swift internally use different private subclasses of NSNumber class cluster. Proper solution would be opening CRToastConfig.m and changing kCRToastKeyClassMap initialization: instead of extracting classes from default values, which are actually private subclasses of NSNumber, use NSNumber itself. This way, class comparison is done in right way and these warnings disappear.

wsb9 avatar Dec 30 '16 09:12 wsb9

Fixed for me by altering the line as such:

    } else if (![obj isKindOfClass:NSClassFromString(kCRToastKeyClassMap[key])] && ![NSStringFromClass([obj class]) containsString:@"Number"]) {

Art-Cube avatar Jan 13 '17 19:01 Art-Cube

i fix it like this :

    let options = [kCRToastTextKey:"Hello World!",kCRToastTextAlignmentKey:NSNumber(value: NSTextAlignment.center.rawValue),kCRToastBackgroundColorKey:UIColor.black,kCRToastAnimationInTypeKey:NSNumber(value:CRToastAnimationType.gravity.rawValue),kCRToastAnimationOutTypeKey:NSNumber(value:CRToastAnimationType.gravity.rawValue),kCRToastAnimationInDirectionKey:NSNumber(value:CRToastAnimationDirection.left.rawValue),kCRToastAnimationOutDirectionKey:NSNumber(value:CRToastAnimationDirection.right.rawValue),kCRToastTimeIntervalKey:NSNumber(value:10.0)] as [String : Any]

mohammadshalhoob avatar Sep 22 '17 11:09 mohammadshalhoob