Martin Carlberg
f666367b5d
Fixed: Optimization for bindings with longer key paths in table views.
...
This prevents a buildup of large arrays with a lot of values and then choose one row and throw away the rest. This is great for speed and a must for lazy loading.
Previous there was a optimization for this but it was only effective for short combined key path like 'a.b'. This pull request makes it effective for any kind of length of a combined key path like 'a.b.c.d...'.
This is done by returning the object at a row in the first found CPArray in the key path
that is divided in a first and second part.
The first part is never a combined key path. The second part can be a combined key path.
If this optimization is not done we will create an array with the valueForKeyPath value on each row and then pick
the wanted value for the row and throw away all the other rows. It is much more effective to first
pick the row and then do the valueForKeyPath on the rest of the key path.
2019-06-26 09:37:40 +02:00
..
2018-10-14 13:24:03 +02:00
2018-10-14 13:27:38 +02:00
2018-04-07 06:52:12 +02:00
2019-03-28 12:49:13 -07:00
2019-03-28 12:51:04 -07:00
2018-05-13 19:48:33 +02:00
2018-04-03 15:04:55 -07:00
2019-06-13 16:17:52 +02:00
2019-03-28 13:32:56 -07:00
2019-06-13 15:59:35 +02:00
2013-04-08 19:20:37 -04:00
2019-03-28 14:31:17 -07:00
2019-03-28 14:01:31 -07:00
2013-08-12 16:46:14 +02:00
2010-11-01 11:10:01 -07:00
2018-04-27 09:27:01 +02:00
2018-04-27 09:27:01 +02:00
2018-04-04 13:29:40 -07:00
2018-08-20 10:36:59 +02:00
2013-01-23 15:48:55 +07:00
2012-12-20 14:22:09 +01:00
2014-11-06 10:17:05 -08:00
2012-12-20 14:22:09 +01:00
2013-01-23 15:48:55 +07:00
2012-12-20 14:22:09 +01:00
2018-04-04 13:31:19 -07:00
2016-05-15 11:57:52 +02:00
2013-03-13 12:22:10 -04:00
2015-10-01 22:17:13 +02:00
2014-11-06 10:17:05 -08:00
2015-08-13 23:40:27 -07:00
2015-07-02 16:35:35 -07:00
2019-03-28 14:08:00 -07:00
2019-03-28 14:11:28 -07:00
2019-03-28 14:19:09 -07:00
2017-01-16 11:23:32 -07:00
2019-03-31 19:42:54 +02:00
2018-05-04 16:16:01 +02:00
2018-08-31 09:10:44 +02:00
2018-08-31 09:14:54 +02:00
2015-05-19 14:30:09 -07:00
2018-07-05 11:25:38 +02:00
2013-02-08 11:26:56 +00:00
2019-03-28 14:33:00 -07:00
2016-02-07 11:54:16 +01:00
2018-04-04 14:11:59 -07:00
2013-01-23 15:48:55 +07:00
2016-05-18 19:43:19 +02:00
2016-02-06 20:39:49 +01:00
2019-06-13 15:59:35 +02:00
2019-06-13 16:12:52 +02:00
2013-01-18 14:24:37 +01:00
2013-01-08 18:07:15 +00:00
2019-03-31 17:44:07 +02:00
2013-02-20 03:00:20 -05:00
2015-10-01 22:17:13 +02:00
2019-04-08 14:32:06 +02:00
2014-11-06 10:17:05 -08:00
2013-03-24 22:08:15 +01:00
2013-01-24 19:18:39 +08:00
2018-04-04 14:17:42 -07:00
2010-12-09 13:00:52 -08:00
2018-09-07 23:16:31 +01:00
2018-04-04 14:19:26 -07:00
2019-03-31 17:24:03 +02:00
2016-02-06 20:39:49 +01:00
2016-02-06 20:39:49 +01:00
2019-03-31 17:37:44 +02:00
2018-04-27 09:27:01 +02:00
2018-04-27 09:27:01 +02:00
2013-01-24 19:18:39 +08:00
2018-04-03 10:55:17 -07:00
2018-04-04 14:36:07 -07:00
2016-04-05 18:43:32 +02:00
2013-01-20 07:24:00 +07:00
2018-04-04 14:37:34 -07:00
2015-10-02 11:09:48 -07:00
2017-08-29 15:11:29 +02:00
2015-01-13 11:46:53 -08:00
2018-08-20 11:40:00 +02:00
2018-04-04 14:40:46 -07:00
2015-05-15 09:55:17 -07:00
2015-12-07 14:58:42 +01:00
2018-03-04 18:40:33 +01:00
2013-03-13 12:22:10 -04:00
2019-03-28 14:51:15 -07:00
2018-08-21 09:14:21 +02:00
2019-06-13 16:30:53 +02:00
2011-03-25 22:52:57 -04:00
2018-05-13 19:40:33 +02:00
2015-01-13 14:11:16 -08:00
2014-11-06 10:17:05 -08:00
2013-08-12 16:46:14 +02:00
2013-08-12 16:39:54 +02:00
2015-01-13 11:46:53 -08:00
2018-05-28 20:44:31 +02:00
2018-10-27 12:01:57 +02:00
2016-12-02 22:08:48 +01:00
2019-06-26 09:37:40 +02:00
2019-04-08 14:39:02 +02:00
2018-08-21 09:08:16 +02:00
2018-08-20 13:30:02 +02:00
2016-10-20 17:24:18 +02:00
2018-01-08 13:15:31 +01:00
2019-03-28 14:55:44 -07:00
2018-08-20 10:50:08 +02:00
2018-04-27 09:27:01 +02:00
2018-04-04 15:10:17 -07:00
2018-04-04 15:11:52 -07:00
2012-12-20 14:22:09 +01:00
2015-12-10 18:29:34 +01:00
2013-01-11 00:48:18 +00:00
2013-01-24 19:18:39 +08:00
2018-05-28 20:44:31 +02:00
2013-08-12 16:46:14 +02:00
2016-08-18 23:52:10 +01:00
2015-08-25 16:46:00 -07:00
2015-01-13 11:46:53 -08:00
2019-03-28 15:19:59 -07:00
2012-02-24 19:44:13 +00:00
2011-10-25 14:33:47 +02:00
2017-12-08 14:02:11 +01:00