• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [super initialize]?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [super initialize]?


  • Subject: Re: [super initialize]?
  • From: Scott Anguish <email@hidden>
  • Date: Sat, 3 Sep 2005 04:18:36 -0400

that assumes that you implement it like that, testing for the class, rather than determining if it's been initialized already in another way.



On Sep 2, 2005, at 7:11 PM, Jim Correia wrote:

On Sep 2, 2005, at 6:29 PM, Scott Anguish wrote:


Oh, and this often confuses devs when dealing with KVO dependent key trigger situations..


The reason that this is particularly troublesome is that KVO registering dependent keys only triggers notifications on the class that registered. So if you implement your safe initializer


+ (void)initialize
{
    if (self == [MyClass class])
    {
        // register depending keys
    }
}

subclasses won't trigger dependent notifications.

For the curious, the two bugs that were filed as a result of this realization (on documentation, on framework)

rdar://4198890
rdar://4198892

Jim


_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: [super initialize]?
      • From: Jim Correia <email@hidden>
References: 
 >[super initialize]? (From: "Christopher Hickman" <email@hidden>)
 >Re: [super initialize]? (From: Scott Anguish <email@hidden>)
 >Re: [super initialize]? (From: Jim Correia <email@hidden>)

  • Prev by Date: Re: [super initialize]?
  • Next by Date: SOLVED: dyld CoreData failure on 10.3 Systems (Gracefully failing on unsupported OS version)
  • Previous by thread: Re: [super initialize]?
  • Next by thread: Re: [super initialize]?
  • Index(es):
    • Date
    • Thread