Skip navigation.
 
mlRe: More trouble with NSCollectionView
FROM : Carter R. Harrison
DATE : Wed Jan 30 20:33:49 2008

On Jan 30, 2008, at 2:01 PM, I. Savant wrote:

>> Maybe it's just me, but I feel like the amount of documentation that
>> Apple has provided on the new NSCollectionView class and its
>> associated classes could be a bit more substantial.

>
>  File an enhancement request using the feedback boxes at the bottom
> of every documentation page. From past experience, it'll take them
> awhile to get caught up on useful levels of detail for some of these
> new additions to the API. Patience and feedback are both required. The
> former for your own sanity and the latter for the documentation team's
> own ideas of what to highlight.


Excellent idea.  I think I will take advantage of this.  Honestly I 
wasn't aware that link was even there.

>
>

>> Here's what I'm
>> trying to accomplish: I have a number of NSManagedObjects, all
>> belonging to the same entity, and I want the various pieces of data
>> stored within each one displayed in an NSCollectionView - such that
>> each subview within the NSCollectionView represents one
>> NSManagedObject.

>
>  This is, if I'm reading this right, almost entirely the "ideal"
> situation for which NSCollectionView is intended.
>

>> How can I do this programmatically - meaning not in IB?

>
>  Frankly, you're making things difficult on yourself and probably for
> no good reason. That's an assumption, of course, but there you have
> it. Name the really good reason you have for not doing this in IB.


Well maybe I should be doing this in IB.  The reason I didn't want to 
do this is because I was reading the IB 3.0 User's Guide and it had a 
very bare bones sample of how to plug together an NSCollectionView 
using bindings.  Since my custom view is going to be pulling bits of 
data from my managed objects, I knew I would have to create bindings 
as part of my view and to do this it looked like I had to go into 
palletizing my view for IB.  That didn't make a lot of sense to me 
since this custom view will not be reused in any additional projects.

>
>

>> I'm thinking I should create an array of NSCollectionViewItems (one
>> for each managed object that I have), set each item's associated 
>> view,
>> and then set this array as the content of the NSCollectionView.  Does
>> this sound right or am I totally missing the point here?

>
>  Going strictly by the NSCollectionView Class Reference document,
> you'd set the collection view's overall content by either calling
> -setContent: (and passing in your managed objects, sorted to taste) or
> by manually binding its content key to a controller (see the
> documentation for establishing manual bindings).
>


Ok, this helps a lot.  I wasn't clear whether or not I was supposed to 
be passing in NSCollectionViewItems as the content or my actual 
managed objects.

>  You would create an NSCollectionViewItem and assign it to the
> NSCollectionView (via -setItemPrototype:). You would then create your
> prototype view (which will be copied by NSCollectionView and managed
> for each object it's representing), wire everything up (for example,
> bind a text field to the NSCollectionViewItem - the keypath escapes me
> at the moment and I'm presently working on a Tiger box), then assign
> the view to the NSCollectionViewItem via -setView:
>
>  If everything's done properly, you should be up and running.
>


This makes perfect sense now.  So if I do this all correctly, when a 
value changes in my managed object, will the view update with this new 
data?  Seems like it should if I make everything such that it is KVC 
and KVO compliant.

> --
> I.S.

Related mailsAuthorDate
mlMore trouble with NSCollectionView Carter R. Harrison Jan 30, 19:40
mlRe: More trouble with NSCollectionView I. Savant Jan 30, 20:01
mlRe: More trouble with NSCollectionView William Turner Jan 30, 20:13
mlRe: More trouble with NSCollectionView Carter R. Harrison Jan 30, 20:33