• 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: Custom NSFormatter classes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Custom NSFormatter classes


  • Subject: Re: Custom NSFormatter classes
  • From: Henri Häkkinen <email@hidden>
  • Date: Sun, 3 Jan 2010 19:35:33 +0200

Hello Patric.

I was able to get the NSFormatter subclass to work properly by ignoring all non-Foo objects sent to it. The Cocoa docs are indeed lacking in this respect as there is no mentioning that the cell's title will first be sent. To me this feels a bit odd anyway since I can think of no reason why should the NSFormatter be concerned about it.

Subclassing an NSCell class seemed to me a bit overcomplicated for this task so I am going with the NSFormatter. Thanks for the suggestion though.

On Jan 3, 2010, at 1:58 PM, Patrick Mau wrote:

> Hallo Henri
>
> Your assumption about how formatters should work are correct. To provide a useful answer
> I have setup a mini project here, because I have stumbled over a detail I did not now:
>
> http://public.me.com/pmau
>
> I took your approach and implemted a minimal datasource and a "Foo" object.
> This is not a great example, but here's what II did not know:
>
> When you wire up the formatter to the text field cell in IB,
> "setFormatter" is called on the TextFieldCell, which in turn will
> call your formatting code withe the cell's title:
>
> run
> [Switching to process 7123]
> Running…
> 2010-01-03 12:39:47.790 Formatter[7123:a0f] NSCFString Cell Title
> 2010-01-03 12:39:47.810 Formatter[7123:a0f] Foo <Foo: 0x1139291d0>
> 2010-01-03 12:39:47.811 Formatter[7123:a0f] Foo <Foo: 0x1151000a0>
> 2010-01-03 12:39:47.811 Formatter[7123:a0f] Foo <Foo: 0x1151000b0>
>
> Therefore you have too prepare to receive at least one object, which is not "Foo".
>
> Interestingly, I could not find that little detail in the documentation.
>
> If you want to return an instance Foo from your datasource, it is much more convenient to write
> your own NSCell subclass, because you can control editing and formatting much easier.
> You can even use an attached formatter that you setup in IB, passing it a property of Foo.
>
> All the best,
> Patrick

_______________________________________________

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

References: 
 >Custom NSFormatter classes (From: Henri Häkkinen <email@hidden>)
 >Re: Custom NSFormatter classes (From: Patrick Mau <email@hidden>)

  • Prev by Date: Re: Drawing on top of QTCaptureView
  • Next by Date: Question about garbage collection
  • Previous by thread: Re: Custom NSFormatter classes
  • Next by thread: Re: Custom NSFormatter classes
  • Index(es):
    • Date
    • Thread