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.
Welcome to Cappuccino!
Introduction
Cappuccino is an open source framework that makes it easy to build desktop-caliber applications that run in a web browser.
With Cappuccino, you don't concern yourself with HTML, CSS, or the DOM. You write applications with the APIs from Apple's Cocoa frameworks and the Objective-J language.
Check out a live demo of the widgets in Cappuccino
Check out some live demos and tutorials
For more information, see the
Follow @cappuccino on Twitter for updates on the project.
If you discover any bugs, please file a ticket.
System Requirements
To run Cappuccino applications, all you need is a HTML5 compliant web browser.
Our tight integration with Xcode on MacOS brings the full power of visual Cocoa development to the web.
However, you can also work on other platforms using only a simple text editor.
Getting Started
To write you first application, download the starter package.
To contribute to Cappuccino, please read here: Getting and Building the Source.
License
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA