0

I can't understand why my method call is incorrect. I'm trying to use SSSnackbar for ios with swift. It has method with the following signature:

@implementation SSSnackbar
+ (instancetype)snackbarWithMessage:(NSString *)message
                         actionText:(NSString *)actionText
                           duration:(NSTimeInterval)duration
                        actionBlock:(void (^)(SSSnackbar *sender))actionBlock
                     dismissalBlock:(void (^)(SSSnackbar *sender))dismissalBlock {

My call of this method:

var bar = SSSnackbar.snackbarWithMessage("Success auth" as NSString,
        actionText: "Ok" as NSString, duration : NSTimeInterval(5),
        actionBlock: {(sender: SSSnackbar) -> () in 
            println("Snackbar action")
        }, dismissalBlock:nil)

Documentations says that dismissalBlock can be nil. Compile error: Error:(48, 38) cannot invoke 'snackbarWithMessage' with an argument list of type '(NSString, actionText: NSString, duration: Double, actionBlock: (SSSnackbar) -> (), dismissalBlock: nil)'

I tried without casting String to NSString, with not nil dismissalBlock

UPD: I have fixed this:

var bar = SSSnackbar(message:"Success auth", actionText: "Ok", duration : NSTimeInterval(5) ,
                    actionBlock: {snackbar in println("clicked")}, dismissalBlock:nil)
Kukambara
  • 3
  • 2
  • You are permitted on StackOverflow to answer your own question. Please move your update to an answer. – vacawama Jul 23 '15 at 14:15
  • Something else to check which can trip you up is `optionals` in callbacks. Your method might be getting the error due to `(sender: SSSnackbar)` not being `(sender: SSSnackbar!)` – sbarow Jul 27 '15 at 10:19

1 Answers1

0

I solved this issue:

var bar = SSSnackbar(message:"Success auth", actionText: "Ok", duration : NSTimeInterval(5) ,
                actionBlock: {snackbar in println("clicked")}, dismissalBlock:nil)

I don't understand why I should call it with constructor instead of call it as static class member, but it seems to be the same as in this question.

Community
  • 1
  • 1
Kukambara
  • 3
  • 2