On Aug 14, 2014, at 1:51 AM, Gerriet M. Denkmann <gerr...@mdenkmann.de> wrote:

> Well, it should, but it does not. I still get the error: 'String' is not a 
> subtype of 'AppDelegate'

Note the location of the error.  The compiler is complaining that
myStatusHandler is the wrong type in this line:

>       let someThing = SomeClass(statusHandler: myStatusHandler)

And it is the wrong type.  myStatusHandler is a method of class
AppDelegate and only has meaning with respect to an instance of that
class.  You may know that AppDelegate is intended to be a singleton,
but the compiler does.  Assuming you really want to do this I think
you need to code it something like...

// because a class var isn't supported, yet.
var statusString : String?

class AppDelegate: NSObject
{

        let someThing = SomeClass(statusHandler: AppDelegate.myStatusHandler)
        
    class func myStatusHandler(s: String)
        {
                statusString = s
        }
}

class SomeClass
{
        var statusHandler:  (String) -> Void
        
        init( statusHandler: String -> Void)
        {
                self.statusHandler = statusHandler
        }
}


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to