Re: having both cell based and view based outline views in one project
Re: having both cell based and view based outline views in one project
- Subject: Re: having both cell based and view based outline views in one project
- From: Navneet Kumar <email@hidden>
- Date: Sun, 13 Jul 2014 01:42:52 +0530
Hi,
Thanks for the valuable insight.
For now I'll try separating the data source & delegate, for the two outline views, just to save time.
And will switch to view based, in due time.
Thanks very much.
Navneet
Sent from my iPhone
> On 12-Jul-2014, at 9:02 pm, Keary Suska <email@hidden> wrote:
>
>> On Jul 12, 2014, at 9:20 AM, Navneet Kumar wrote:
>>
>> I had one (set cell-based in IB) outline view in my project using custom cell for one table Column (identifier : “Description”).
>> And it was working fine with my AppDelegate implementing the required datasource and some delegate methods.
>>
>> I added another (set view-based in IB) outline view and I am returning custom views in the following method (in AppDelegate):
>>
>> - (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item {
>> NSString *identifier = [tableColumn identifier];
>> if ([outlineView isEqualTo:outlineViewThumbs]) {
>> if ([identifier isEqualToString:COLUMN_ID_DESC]) {// having only one table column
>> return [item cellView];
>> }
>> }
>> return nil;
>> }
>>
>> This view-based outline view is working as expected, but the earlier cell-based outline is now showing empty rows (yes, it does populate as is evident from the vertical scroller and clicking also selects the row).
>> Adding a breakpoint in the above method, I can see it being called by cell-based outline view, and in this case this method returns nil. And the outlineView: objectValueForTableColumn: item: method doesn’t get called.
>> If I comment the last line in above method and return nothing for the cell-based outline view, the outlineView: objectValueForTableColumn: item: is called after the above method, but it leads to crash at another place in code where I’m doing [tabView display];. This tabView contains both the outline views in separate tabs.
>>
>> How to tackle it?
>> Do I need to use two separate classes for datasource and delegate for the two outline views?
>
> Most likely. As far as I can tell, there is no public property that tells an NSTableView whether it is cell-based or view-based, so I am not surprised that it determines this based on implemented delegate methods. Alternatively, since cell-based table views are being deprecated, you could convert your cell-based to view-based and then your app will have some future-proofing.
>
> HTH,
>
> Keary Suska
> Esoteritech, Inc.
> "Demystifying technology for your home or business"
>
_______________________________________________
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