iCaching has a pretty powerfull filtering mechanism. You can do a single filter action by pressing the magnifier icon in the toolbar, but you can also save a filter as a so called ‘Smart Folder’.
The filter dialog uses a standard Apple interface element to create the filters, but apparently not all users are familiair with this. One of the most frequent questions for support is how to create a ‘negative’ filter. E.g. search for all caches not owned by me. Therefore this little post to give some insight.
You can create a search based on one or multiple filters. For most properties of the geocaches there is a filter. Clicking on a ‘+’-button adds a new filter.
The real fun part begins when you add so called ‘compound filters’. There are three compound filters:
- ‘none’, you can use this for a negative filter: all rules nested must be not true
- ‘all’: all of the nested filters must be true
- ‘some’: it’s enough when just one of the nested filters is true
You can add a compound filter by clicking on a ‘+’-button while holding the alt (or option) key. You can drag filters around to organize the ordering of the filters.
Tips for faster filters:
- Start with the most discriminating filters, this way the filter function has less comparisons left for the second filter etc..
- Also important for speed is the processing cost of a filter; a boolean comparision (eg. Available=Yes) is cheaper than a nummeric comparision, which is cheaper than a text-comparision.
- Within text comparisions (e.g. woner, cachename etc) a ‘begins with’ filter on a textbase property is cheaper than the ‘contains’ filter, because the filter only has to look at the first characters instead of the whole text
- And last but not least: filtering on cacheproperties is (much) faster than filtering on it’s collections: additional waypoints, logs and attributes.
Here is a screendump of the Smart Folder I use myself to fill my GPS: