• 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: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)


  • Subject: Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)
  • From: Graham Cox <email@hidden>
  • Date: Thu, 29 Oct 2009 11:27:11 +1100


On 29/10/2009, at 7:02 AM, Russell Finn wrote:

I'm pretty sure you got this backwards -- it's ObjectsAndKeys, not
KeysAndObjects:

attributes = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
[NSFont fontWithName:@"Helvetica" size:75], NSFontAttributeName,
NSColor redColor], NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
nil];


Ref: http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDictionary/initWithObjectsAndKeys:
("First the key for firstObject, then a null-terminated list of
alternating values and keys.").

No doubt this was part of the motivation for creating the MYUtilities
library. I'll have to check it out myself.


No, the OP is right. Check again:

initWithObjectsAndKeys:
Initializes a newly allocated dictionary with entries constructed from the specified set of values and keys.


- (id)initWithObjectsAndKeys:(id)firstObject , ...

Parameters
firstObject
The first value to add to the new dictionary.

...
First the key for firstObject, then a null-terminated list of alternating values and keys. If any key isnil, an NSInvalidArgumentException is raised.

The confusion is that the first word on the last line should be 'Then', not 'First'.


Usually when coming up with a method name, it should self-document as far as possible. These nil-terminated lists don't fully do that, but at least the order of words gives you a hint:

initWithObjects(first)andKeys(second)

Therefore the list is ordered object, key, object, key

--Graham


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)
      • From: Russell Finn <email@hidden>
References: 
 >Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2) (From: Chunk 1978 <email@hidden>)
 >Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2) (From: Jens Alfke <email@hidden>)
 >Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2) (From: Russell Finn <email@hidden>)

  • Prev by Date: [moderator] Re: Software visualisation tool
  • Next by Date: Re: A distinct group of pictures in the bundle
  • Previous by thread: Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)
  • Next by thread: Re: Bold and Italic For Dictionary Font Attributes (Hillegass Chapter 20, Challenge 2)
  • Index(es):
    • Date
    • Thread