FROM : Citizen
DATE : Fri Apr 18 15:22:30 2008
On 18 Apr 2008, at 05:56, Adam P Jenkins wrote:
>
> On Apr 18, 2008, at 12:47 AM, Bill Bumgarner wrote:
>
>> On Apr 17, 2008, at 11:20 PM, Adam P Jenkins wrote:
>>> Exactly. And now that the convention of methods returning self no
>>> longer exists, it seems like there's no longer any advantage to
>>> this behavior.
>>
>> There are 10s of thousands invocations of methods on nil objects
>> during the normal, non-error-path, execution of your average Cocoa
>> application that indicate that this behavior is still, very much,
>> used to the advantage (where 'advantage == convenience') of Cocoa
>> programmers.
>
>
> Can you give an example of where invoking methods on nil objects
> would make sense in a non-error-path situation? I'm not trying to
> be argumentative here, I'm really curious to know what Objective-C
> idioms take advantage of the nil-swallows-messages behavior. Thank
> you.
Do these count?
1.
// add user defined savepath to savepath menu
NSString * userpath = [[NSUserDefaults standardUserDefaults]
objectForKey:ZNCDRevPrefUserDefinedSavepathKey];
if (userpath) {
[savepathPopUpButton insertItemWithTitle:[[NSFileManager
defaultManager] displayNameAtPath:userpath] atIndex:2];
NSMenuItem * userDefinedMenuItem = [savepathPopUpButton itemAtIndex:2];
[userDefinedMenuItem setTag:CDRevPrefUserDefinedSaveMethod];
}
2.
- (BOOL) isPreEmphasisEnabledForSession:(int)aSession track:(int)aTrack;
{
return [[[[[[[self TOCPlist] objectForKey:ZNDiscTOCSessionsKey]
objectAtIndex:(aSession-1)]
objectForKey:ZNDiscTOCSessionTrackArrayKey] objectAtIndex:(aTrack-1)]
objectForKey:ZNDiscTOCTrackPreEmphasisEnabledFlagKey] boolValue];
}
If not nil messaging certainly makes life easier in these situations.
- Dave
DATE : Fri Apr 18 15:22:30 2008
On 18 Apr 2008, at 05:56, Adam P Jenkins wrote:
>
> On Apr 18, 2008, at 12:47 AM, Bill Bumgarner wrote:
>
>> On Apr 17, 2008, at 11:20 PM, Adam P Jenkins wrote:
>>> Exactly. And now that the convention of methods returning self no
>>> longer exists, it seems like there's no longer any advantage to
>>> this behavior.
>>
>> There are 10s of thousands invocations of methods on nil objects
>> during the normal, non-error-path, execution of your average Cocoa
>> application that indicate that this behavior is still, very much,
>> used to the advantage (where 'advantage == convenience') of Cocoa
>> programmers.
>
>
> Can you give an example of where invoking methods on nil objects
> would make sense in a non-error-path situation? I'm not trying to
> be argumentative here, I'm really curious to know what Objective-C
> idioms take advantage of the nil-swallows-messages behavior. Thank
> you.
Do these count?
1.
// add user defined savepath to savepath menu
NSString * userpath = [[NSUserDefaults standardUserDefaults]
objectForKey:ZNCDRevPrefUserDefinedSavepathKey];
if (userpath) {
[savepathPopUpButton insertItemWithTitle:[[NSFileManager
defaultManager] displayNameAtPath:userpath] atIndex:2];
NSMenuItem * userDefinedMenuItem = [savepathPopUpButton itemAtIndex:2];
[userDefinedMenuItem setTag:CDRevPrefUserDefinedSaveMethod];
}
2.
- (BOOL) isPreEmphasisEnabledForSession:(int)aSession track:(int)aTrack;
{
return [[[[[[[self TOCPlist] objectForKey:ZNDiscTOCSessionsKey]
objectAtIndex:(aSession-1)]
objectForKey:ZNDiscTOCSessionTrackArrayKey] objectAtIndex:(aTrack-1)]
objectForKey:ZNDiscTOCTrackPreEmphasisEnabledFlagKey] boolValue];
}
If not nil messaging certainly makes life easier in these situations.
- Dave






Cocoa mail archive

