I went through and removed all the IBOutlet notation from the members and reconnected everything to the properties in IB. Also added release calls for all the controls in dealloc. The app appears to be quite solid, with no leaks or analyzer issues detected. I'm calling it done!
Needless to say, it seems like ARC was a desperately needed step forward. I don't mind doing things "the right way" and I have a high tolerance for syntactic tedium, but the invisibility of NSNib's usage of properties and the resulting asymmetry of the code (a bunch of releases in dealloc with no corresponding allocations) is just asking for trouble. Compounding this mess was IB's wretchedly defective display of outlets. If you rename members, or remove their IBOutlet notations, the three lists of outlets in IB are wildly wrong and will actually change before your eyes with no user interaction. Outlets will appear and disappear from the two context menus on "File Owner" and from the Inspector seemingly at random. IB simply used to crash in this situation (reconnecting renamed members to controls), but that was fixed in 4.3.1 (Radar 10780292 filed, confirmed, and returned to me for verification). Then there's the display of redundant outlets if you've put "IBOutlet" on both the member and the property as was shown in examples in the past. IB should take @synthesize aProperty=_aProperty into account. _______________________________________________ Cocoa-dev mailing list ([email protected]) 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 [email protected]
