> On Oct 18, 2010, at 10:59 AM, Trygve Inda wrote: > >> I guess I am just not seeing how my NSArrayController would ties to this. So >> I have a class MyDataClass and since my NSTableView is tied to an >> NSArrayController, then the NSArrayController needs to get it's data from >> MyDataClass. >> >> So is there then a myArray property in MyDataClass that the >> NSArrayController binds to? >> >> Or does NSArrayController somehow bind to a non-array property, but one >> that responds as if it were an array? > > A property implemented in terms of the indexed accessor methods is appropriate > for binding an NSArrayController's contentArray to. And, if you must think of > properties as "array" vs "non-array", then such a property is an array > property. It is more precisely called an indexed to-many relationship or an > indexed collection. (In particular, there's no reason to expect an NSArray* > to be part of its interface.) > > Regards, > Ken
So would you do something like the example you described: http://homepage.mac.com/mmalc/CocoaExamples/controllers.html Where the NSArrayController is bound not to an array at all but to a property which responds to the proper indexed to-many messages... Or a subclass of NSMutableArray as Greg suggested? My array will rarely be edited (but needs to be mutable), but needs to be searchable by key (for which instead of a keyed dictionary kept in tandem with the array, I could just use a predicate filter on the array). Each dictionary (or object with properties) will need to hold roughly 9 textual strings, and there will be on the order of 10,000 objects in the array. I am guessing that dictionary will perform better than a predicate filter given the number of objects. Trygve _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
