Re: Table selection and bindings
Re: Table selection and bindings
- Subject: Re: Table selection and bindings
- From: John Brownie <email@hidden>
- Date: Tue, 14 Feb 2017 21:07:17 +0200
OK, that makes sense. Tracing through, I do have a reloadData call, so
I'll ensure that the selection gets maintained after that.
Yes, there is a mixture of data source and bindings, with the table view
relying on data source and a bit of KVO, while the inspector relies on
bindings. Things get rather messy with both the document window and the
inspector panel having tabbed interfaces, meaning that I keep having to
check which tab is active in order to activate the appropriate views. It
may well be that I could do it all with bindings, but, with it all
working (more or less), I don't want to break it. When I get that far in
the Swift rewrite, then I can poke at it some more in the hope of making
it cleaner.
Hopefully all will be well, so thanks for the pointers.
John
Quincey Morris <mailto:email@hidden>
14 February 2017 at 20:45
+1 what Keary said.
But there’s another question, which is why your selection is changing
at all when you edit the object it represents. One possibility is that
you’re invoking a reloadData on the table view when updating your
model. If you do that, you must also re-establish the desired
selection after the reload. Or, if you’re simply replacing the entire
underlying array with a new instance that contains the modified
object, the table view might treat that as a reload, depending on how
your table view content is connected to your data model.
So, I think you are probably doing something “incorrectly”, in the
sense that you need a lighter hand on the model update, or you need an
extra step at the end of the update. Currently, it sounds like you are
effectively but unintentionally clearing the selection
programmatically, leading to the situation Keary describes.
_______________________________________________
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
Keary Suska <mailto:email@hidden>
14 February 2017 at 19:25
If you are otherwise getting delegate calls when you manually (i.e.
NOT programmatically) change the selection, then you are running into
the situations where notifications are not sent when programmatic
selection changes are made. The only way around this is to watch
directly for selection changes, which you may be able to accomplish
either by observing selectedRowIndexes of NSTableView or
selectionIndex(es) of an NSArrayController that the table view is bond to.
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
--
John Brownie
In Finland on furlough from SIL Papua New Guinea
_______________________________________________
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