On 14 Aug 2014, at 19:24, Roland King <r...@rols.org> wrote:

>> 
>> class AppDelegate: NSObject
>> {
>>      dynamic var statusString : String?      //      bound to some TextField
>> 
>>      let someThing = SomeClass( myStatusHandler )            <---- this 
>> creates strange error messages
>> 
>>      func myStatusHandler( s: String )
>>      {
>>              statusString = s
>>      }
>> }
>> 
>> class SomeClass
>> {
>>      private let statusHandler:  (String) -> Void
>> 
>>      init( statusHandler: (String) -> Void ) 
>>      {
>>              self.statusHandler = statusHandler
>>      }
>> }
>> 
>> Gerriet.
>> 
> 
> 
> What you’re doing there doesn’t make much sense to me. myStatusHandler is an 
> instance method (or whatever it’s called in Swift). You’re trying to assign 
> it outside the context of an actual instance, there’s no ‘self’ at that 
> point. I don’t really know what the type of myStatusHander is at the point 
> you’re trying to assign it, probably something which takes an AppDelegate and 
> returns a (String)->Void function, or something like that, ie 
> (AppDelegate)->(String)->Void. Whatever it is it’s not a (String)->Void 
> function. 
> 
> if you write an init() method and put it in there there’s context for it, 
> self exists
> 
> class AppDelegate: NSObject
> {
>       dynamic var statusString : String?      //      bound to some TextField
>       let someThing : SomeClass?
> 
>       func myStatusHandler( s: String )
>       {
>               statusString = s
>       }
> 
>       override init()
>       {
>               super.init()
>               someThing = SomeClass( self.myStatusHandler )
>       }
> }
> 
> class SomeClass
> {
>       private let statusHandler:  (String) -> Void
> 
>       init( statusHandler: (String) -> Void )
>       {
>               self.statusHandler = statusHandler
>       }
> }
> 
> let a = AppDelegate();
> a.someThing
> 
> and yes you have to do the little let someThing: SomeClass? dance so you can 
> use super.init() before using myStatusHandler. 
> 
> I’m almost entirely sure there’s a far better way to do what you’re trying to 
> do which doesn’t involve quite this much ugly. Not loving this syntax yet, 
> really, just not getting into it and I’m not even trying anything hard. 

Thanks a lot: doing it your way it works perfectly.

Kind regards,

Gerriet.


_______________________________________________

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