nano-store 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/README.md +3 -1
  3. data/Rakefile +1 -1
  4. data/lib/nano_store.rb +1 -1
  5. data/lib/nano_store/model.rb +11 -7
  6. data/lib/nano_store/version.rb +1 -1
  7. data/spec/model_spec.rb +2 -5
  8. data/vendor/Podfile.lock +4 -4
  9. data/vendor/Pods/BuildHeaders/NanoStore/NSFNanoGlobals.h +3 -1
  10. data/vendor/Pods/BuildHeaders/NanoStore/NSFNanoPredicate.h +5 -5
  11. data/vendor/Pods/BuildHeaders/NanoStore/NSFNanoSearch.h +4 -2
  12. data/vendor/Pods/Documentation/NanoStore/docset-installed.txt +4 -0
  13. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Info.plist +33 -0
  14. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoBag.html +2266 -0
  15. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoEngine.html +4708 -0
  16. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoExpression.html +818 -0
  17. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoObject.html +1781 -0
  18. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoPredicate.html +800 -0
  19. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoResult.html +1054 -0
  20. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoSearch.html +2544 -0
  21. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoSortDescriptor.html +713 -0
  22. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFNanoStore.html +3723 -0
  23. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Classes/NSFOrderedDictionary.html +312 -0
  24. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/Protocols/NSFNanoObjectProtocol.html +651 -0
  25. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/css/styles.css +584 -0
  26. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/css/stylesPrint.css +22 -0
  27. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/hierarchy.html +106 -0
  28. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/img/button_bar_background.png +0 -0
  29. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/img/disclosure.png +0 -0
  30. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/img/disclosure_open.png +0 -0
  31. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/img/library_background.png +0 -0
  32. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/img/title_background.png +0 -0
  33. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Documents/index.html +654 -0
  34. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Nodes.xml +92 -0
  35. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens1.xml +596 -0
  36. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens10.xml +48 -0
  37. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens11.xml +118 -0
  38. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens2.xml +1209 -0
  39. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens3.xml +158 -0
  40. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens4.xml +455 -0
  41. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens5.xml +166 -0
  42. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens6.xml +246 -0
  43. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens7.xml +821 -0
  44. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens8.xml +125 -0
  45. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/Tokens9.xml +1082 -0
  46. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/docSet.dsidx +0 -0
  47. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/docSet.mom +0 -0
  48. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/docSet.skidx +0 -0
  49. data/vendor/Pods/Documentation/NanoStore/docset/Contents/Resources/docSet.toc +0 -0
  50. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoBag.html +2266 -0
  51. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoEngine.html +4708 -0
  52. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoExpression.html +818 -0
  53. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoObject.html +1781 -0
  54. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoPredicate.html +800 -0
  55. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoResult.html +1054 -0
  56. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoSearch.html +2544 -0
  57. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoSortDescriptor.html +713 -0
  58. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFNanoStore.html +3723 -0
  59. data/vendor/Pods/Documentation/NanoStore/html/Classes/NSFOrderedDictionary.html +312 -0
  60. data/vendor/Pods/Documentation/NanoStore/html/Protocols/NSFNanoObjectProtocol.html +651 -0
  61. data/vendor/Pods/Documentation/NanoStore/html/css/styles.css +584 -0
  62. data/vendor/Pods/Documentation/NanoStore/html/css/stylesPrint.css +22 -0
  63. data/vendor/Pods/Documentation/NanoStore/html/hierarchy.html +106 -0
  64. data/vendor/Pods/Documentation/NanoStore/html/img/button_bar_background.png +0 -0
  65. data/vendor/Pods/Documentation/NanoStore/html/img/disclosure.png +0 -0
  66. data/vendor/Pods/Documentation/NanoStore/html/img/disclosure_open.png +0 -0
  67. data/vendor/Pods/Documentation/NanoStore/html/img/library_background.png +0 -0
  68. data/vendor/Pods/Documentation/NanoStore/html/img/title_background.png +0 -0
  69. data/vendor/Pods/Documentation/NanoStore/html/index.html +654 -0
  70. data/vendor/Pods/Headers/NanoStore/NSFNanoGlobals.h +3 -1
  71. data/vendor/Pods/Headers/NanoStore/NSFNanoPredicate.h +5 -5
  72. data/vendor/Pods/Headers/NanoStore/NSFNanoSearch.h +4 -2
  73. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoGlobals.h +3 -1
  74. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoGlobals.m +1 -0
  75. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoPredicate.h +5 -5
  76. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoPredicate.m +15 -14
  77. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoSearch.h +4 -2
  78. data/vendor/Pods/NanoStore/Classes/Public/NSFNanoSearch.m +95 -20
  79. data/vendor/Pods/Pods.bridgesupport +708 -700
  80. data/vendor/Pods/Pods.xcconfig +3 -3
  81. metadata +62 -4
@@ -0,0 +1,312 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
5
+ <title>NSFOrderedDictionary Class Reference</title>
6
+ <meta id="xcode-display" name="xcode-display" content="render"/>
7
+ <meta name="viewport" content="width=550" />
8
+ <link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
9
+ <link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
10
+ <meta name="generator" content="appledoc 2.0.5 (build 789)" />
11
+ </head>
12
+ <body>
13
+ <header id="top_header">
14
+ <div id="library" class="hideInXcode">
15
+ <h1><a id="libraryTitle" href="../index.html">NanoStore 2.5.7 </a></h1>
16
+ <a id="developerHome" href="../index.html">Tito Ciuro</a>
17
+ </div>
18
+
19
+ <div id="title" role="banner">
20
+ <h1 class="hideInXcode">NSFOrderedDictionary Class Reference</h1>
21
+ </div>
22
+ <ul id="headerButtons" role="toolbar">
23
+ <li id="toc_button">
24
+ <button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
25
+ </li>
26
+ <li id="jumpto_button" role="navigation">
27
+ <select id="jumpTo">
28
+ <option value="top">Jump To&#133;</option>
29
+
30
+
31
+
32
+
33
+ <option value="tasks">Tasks</option>
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ <option value="instance_methods">Instance Methods</option>
44
+
45
+ <option value="//api/name/insertObject:forKey:atIndex:">&nbsp;&nbsp;&nbsp;&nbsp;- insertObject:forKey:atIndex:</option>
46
+
47
+ <option value="//api/name/keyAtIndex:">&nbsp;&nbsp;&nbsp;&nbsp;- keyAtIndex:</option>
48
+
49
+ <option value="//api/name/reverseKeyEnumerator">&nbsp;&nbsp;&nbsp;&nbsp;- reverseKeyEnumerator</option>
50
+
51
+
52
+
53
+ </select>
54
+ </li>
55
+ </ul>
56
+ </header>
57
+ <nav id="tocContainer" class="isShowingTOC">
58
+ <ul id="toc" role="tree">
59
+
60
+
61
+
62
+
63
+ <li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
64
+
65
+ </ul></li>
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ <li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
76
+
77
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/insertObject:forKey:atIndex:">insertObject:forKey:atIndex:</a></span></li>
78
+
79
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/keyAtIndex:">keyAtIndex:</a></span></li>
80
+
81
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/reverseKeyEnumerator">reverseKeyEnumerator</a></span></li>
82
+
83
+ </ul></li>
84
+
85
+
86
+ </ul>
87
+ </nav>
88
+ <article>
89
+ <div id="contents" class="isShowingTOC" role="main">
90
+ <a title="NSFOrderedDictionary Class Reference" name="top"></a>
91
+ <div class="main-navigation navigation-top">
92
+ <ul>
93
+ <li><a href="../index.html">Index</a></li>
94
+ <li><a href="../hierarchy.html">Hierarchy</a></li>
95
+ </ul>
96
+ </div>
97
+ <div id="header">
98
+ <div class="section-header">
99
+ <h1 class="title title-header">NSFOrderedDictionary Class Reference</h1>
100
+ </div>
101
+ </div>
102
+ <div id="container">
103
+
104
+ <div class="section section-specification"><table cellspacing="0"><tbody>
105
+ <tr>
106
+ <td class="specification-title">Inherits from</td>
107
+ <td class="specification-value">NSMutableDictionary</td>
108
+ </tr><tr>
109
+ <td class="specification-title">Declared in</td>
110
+ <td class="specification-value">NSFOrderedDictionary.h</td>
111
+ </tr>
112
+ </tbody></table></div>
113
+
114
+
115
+
116
+
117
+
118
+
119
+ <div class="section section-tasks">
120
+ <a title="Tasks" name="tasks"></a>
121
+ <h2 class="subtitle subtitle-tasks">Tasks</h2>
122
+
123
+
124
+
125
+
126
+
127
+ <ul class="task-list">
128
+ <li>
129
+ <span class="tooltip">
130
+ <code><a href="#//api/name/insertObject:forKey:atIndex:">&ndash;&nbsp;insertObject:forKey:atIndex:</a></code>
131
+
132
+ </span>
133
+
134
+
135
+ </li><li>
136
+ <span class="tooltip">
137
+ <code><a href="#//api/name/keyAtIndex:">&ndash;&nbsp;keyAtIndex:</a></code>
138
+
139
+ </span>
140
+
141
+
142
+ </li><li>
143
+ <span class="tooltip">
144
+ <code><a href="#//api/name/reverseKeyEnumerator">&ndash;&nbsp;reverseKeyEnumerator</a></code>
145
+
146
+ </span>
147
+
148
+
149
+ </li>
150
+ </ul>
151
+
152
+ </div>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <div class="section section-methods">
163
+ <a title="Instance Methods" name="instance_methods"></a>
164
+ <h2 class="subtitle subtitle-methods">Instance Methods</h2>
165
+
166
+ <div class="section-method">
167
+ <a name="//api/name/insertObject:forKey:atIndex:" title="insertObject:forKey:atIndex:"></a>
168
+ <h3 class="subsubtitle method-title">insertObject:forKey:atIndex:</h3>
169
+
170
+
171
+
172
+ <div class="method-subsection method-declaration"><code>- (void)insertObject:(id)<em>anObject</em> forKey:(id)<em>aKey</em> atIndex:(NSUInteger)<em>anIndex</em></code></div>
173
+
174
+
175
+ </div>
176
+
177
+ <div class="section-method">
178
+ <a name="//api/name/keyAtIndex:" title="keyAtIndex:"></a>
179
+ <h3 class="subsubtitle method-title">keyAtIndex:</h3>
180
+
181
+
182
+
183
+ <div class="method-subsection method-declaration"><code>- (id)keyAtIndex:(NSUInteger)<em>anIndex</em></code></div>
184
+
185
+
186
+ </div>
187
+
188
+ <div class="section-method">
189
+ <a name="//api/name/reverseKeyEnumerator" title="reverseKeyEnumerator"></a>
190
+ <h3 class="subsubtitle method-title">reverseKeyEnumerator</h3>
191
+
192
+
193
+
194
+ <div class="method-subsection method-declaration"><code>- (NSEnumerator *)reverseKeyEnumerator</code></div>
195
+
196
+
197
+ </div>
198
+
199
+ </div>
200
+
201
+
202
+ </div>
203
+ <div class="main-navigation navigation-bottom">
204
+ <ul>
205
+ <li><a href="../index.html">Index</a></li>
206
+ <li><a href="../hierarchy.html">Hierarchy</a></li>
207
+ </ul>
208
+ </div>
209
+ <div id="footer">
210
+ <hr />
211
+ <div class="footer-copyright">
212
+ <p><span class="copyright">&copy; 2013 Tito Ciuro. All rights reserved. (Last updated: 2013-01-22)</span><br />
213
+
214
+ <span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.0.5 (build 789)</a>.</span></p>
215
+
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </article>
220
+ <script type="text/javascript">
221
+ function jumpToChange()
222
+ {
223
+ window.location.hash = this.options[this.selectedIndex].value;
224
+ }
225
+
226
+ function toggleTOC()
227
+ {
228
+ var contents = document.getElementById('contents');
229
+ var tocContainer = document.getElementById('tocContainer');
230
+
231
+ if (this.getAttribute('class') == 'open')
232
+ {
233
+ this.setAttribute('class', '');
234
+ contents.setAttribute('class', '');
235
+ tocContainer.setAttribute('class', '');
236
+
237
+ window.name = "hideTOC";
238
+ }
239
+ else
240
+ {
241
+ this.setAttribute('class', 'open');
242
+ contents.setAttribute('class', 'isShowingTOC');
243
+ tocContainer.setAttribute('class', 'isShowingTOC');
244
+
245
+ window.name = "";
246
+ }
247
+ return false;
248
+ }
249
+
250
+ function toggleTOCEntryChildren(e)
251
+ {
252
+ e.stopPropagation();
253
+ var currentClass = this.getAttribute('class');
254
+ if (currentClass == 'children') {
255
+ this.setAttribute('class', 'children open');
256
+ }
257
+ else if (currentClass == 'children open') {
258
+ this.setAttribute('class', 'children');
259
+ }
260
+ return false;
261
+ }
262
+
263
+ function tocEntryClick(e)
264
+ {
265
+ e.stopPropagation();
266
+ return true;
267
+ }
268
+
269
+ function init()
270
+ {
271
+ var selectElement = document.getElementById('jumpTo');
272
+ selectElement.addEventListener('change', jumpToChange, false);
273
+
274
+ var tocButton = document.getElementById('table_of_contents');
275
+ tocButton.addEventListener('click', toggleTOC, false);
276
+
277
+ var taskTreeItem = document.getElementById('task_treeitem');
278
+ if (taskTreeItem.getElementsByTagName('li').length > 0)
279
+ {
280
+ taskTreeItem.setAttribute('class', 'children');
281
+ taskTreeItem.firstChild.setAttribute('class', 'disclosure');
282
+ }
283
+
284
+ var tocList = document.getElementById('toc');
285
+
286
+ var tocEntries = tocList.getElementsByTagName('li');
287
+ for (var i = 0; i < tocEntries.length; i++) {
288
+ tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
289
+ }
290
+
291
+ var tocLinks = tocList.getElementsByTagName('a');
292
+ for (var i = 0; i < tocLinks.length; i++) {
293
+ tocLinks[i].addEventListener('click', tocEntryClick, false);
294
+ }
295
+
296
+ if (window.name == "hideTOC") {
297
+ toggleTOC.call(tocButton);
298
+ }
299
+ }
300
+
301
+ window.onload = init;
302
+
303
+ // If showing in Xcode, hide the TOC and Header
304
+ if (navigator.userAgent.match(/xcode/i)) {
305
+ document.getElementById("contents").className = "hideInXcode"
306
+ document.getElementById("tocContainer").className = "hideInXcode"
307
+ document.getElementById("top_header").className = "hideInXcode"
308
+ }
309
+
310
+ </script>
311
+ </body>
312
+ </html>
@@ -0,0 +1,651 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
5
+ <title>NSFNanoObjectProtocol Protocol Reference</title>
6
+ <meta id="xcode-display" name="xcode-display" content="render"/>
7
+ <meta name="viewport" content="width=550" />
8
+ <link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
9
+ <link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
10
+ <meta name="generator" content="appledoc 2.0.5 (build 789)" />
11
+ </head>
12
+ <body>
13
+ <header id="top_header">
14
+ <div id="library" class="hideInXcode">
15
+ <h1><a id="libraryTitle" href="../index.html">NanoStore 2.5.7 </a></h1>
16
+ <a id="developerHome" href="../index.html">Tito Ciuro</a>
17
+ </div>
18
+
19
+ <div id="title" role="banner">
20
+ <h1 class="hideInXcode">NSFNanoObjectProtocol Protocol Reference</h1>
21
+ </div>
22
+ <ul id="headerButtons" role="toolbar">
23
+ <li id="toc_button">
24
+ <button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
25
+ </li>
26
+ <li id="jumpto_button" role="navigation">
27
+ <select id="jumpTo">
28
+ <option value="top">Jump To&#133;</option>
29
+
30
+ <option value="overview">Overview</option>
31
+
32
+
33
+
34
+
35
+ <option value="tasks">Tasks</option>
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ <option value="instance_methods">Instance Methods</option>
46
+
47
+ <option value="//api/name/initNanoObjectFromDictionaryRepresentation:forKey:store:">&nbsp;&nbsp;&nbsp;&nbsp;- initNanoObjectFromDictionaryRepresentation:forKey:store:</option>
48
+
49
+ <option value="//api/name/nanoObjectDictionaryRepresentation">&nbsp;&nbsp;&nbsp;&nbsp;- nanoObjectDictionaryRepresentation</option>
50
+
51
+ <option value="//api/name/nanoObjectKey">&nbsp;&nbsp;&nbsp;&nbsp;- nanoObjectKey</option>
52
+
53
+ <option value="//api/name/rootObject">&nbsp;&nbsp;&nbsp;&nbsp;- rootObject</option>
54
+
55
+
56
+
57
+ </select>
58
+ </li>
59
+ </ul>
60
+ </header>
61
+ <nav id="tocContainer" class="isShowingTOC">
62
+ <ul id="toc" role="tree">
63
+
64
+ <li role="treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#overview">Overview</a></span></li>
65
+
66
+
67
+
68
+
69
+ <li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
70
+
71
+ </ul></li>
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
82
+
83
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/initNanoObjectFromDictionaryRepresentation:forKey:store:">initNanoObjectFromDictionaryRepresentation:forKey:store:</a></span></li>
84
+
85
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/nanoObjectDictionaryRepresentation">nanoObjectDictionaryRepresentation</a></span></li>
86
+
87
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/nanoObjectKey">nanoObjectKey</a></span></li>
88
+
89
+ <li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/rootObject">rootObject</a></span></li>
90
+
91
+ </ul></li>
92
+
93
+
94
+ </ul>
95
+ </nav>
96
+ <article>
97
+ <div id="contents" class="isShowingTOC" role="main">
98
+ <a title="NSFNanoObjectProtocol Protocol Reference" name="top"></a>
99
+ <div class="main-navigation navigation-top">
100
+ <ul>
101
+ <li><a href="../index.html">Index</a></li>
102
+ <li><a href="../hierarchy.html">Hierarchy</a></li>
103
+ </ul>
104
+ </div>
105
+ <div id="header">
106
+ <div class="section-header">
107
+ <h1 class="title title-header">NSFNanoObjectProtocol Protocol Reference</h1>
108
+ </div>
109
+ </div>
110
+ <div id="container">
111
+
112
+ <div class="section section-specification"><table cellspacing="0"><tbody>
113
+ <tr>
114
+ <td class="specification-title">Declared in</td>
115
+ <td class="specification-value">NSFNanoObjectProtocol.h</td>
116
+ </tr>
117
+ </tbody></table></div>
118
+
119
+
120
+
121
+
122
+ <div class="section section-overview">
123
+ <a title="Overview" name="overview"></a>
124
+ <h2 class="subtitle subtitle-overview">Overview</h2>
125
+ <p>@protocol <a href="NSFNanoObjectProtocol.html">NSFNanoObjectProtocol</a>
126
+ A protocol declaring the interface that objects interfacing with NanoStore must implement.</p>
127
+
128
+ <p>@note
129
+ Check <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> or <a href="../Classes/NSFNanoObject.html">NSFNanoObject</a> to see a concrete example of how <a href="NSFNanoObjectProtocol.html">NSFNanoObjectProtocol</a> is implemented.</p>
130
+ </div>
131
+
132
+
133
+
134
+
135
+
136
+ <div class="section section-tasks">
137
+ <a title="Tasks" name="tasks"></a>
138
+ <h2 class="subtitle subtitle-tasks">Tasks</h2>
139
+
140
+
141
+
142
+
143
+
144
+ <ul class="task-list">
145
+ <li>
146
+ <span class="tooltip">
147
+ <code><a href="#//api/name/initNanoObjectFromDictionaryRepresentation:forKey:store:">&ndash;&nbsp;initNanoObjectFromDictionaryRepresentation:forKey:store:</a></code>
148
+ <span class="tooltip"><ul>
149
+ <li>Initializes a newly allocated object containing a given key and value associated with a document store.</li>
150
+ <li>@param theDictionary the information associated with the object.</li>
151
+ <li>@param aKey the key associated with the information.</li>
152
+ <li>@param theStore the document store where the object is stored.</li>
153
+ <li>@return An initialized object upon success, nil otherwise.</li>
154
+ <li>@details <b>Example:</b>
155
+ @code</li>
156
+ <li>(id)initNanoObjectFromDictionaryRepresentation:(NSDictionary <em>)aDictionary forKey:(NSString </em>)aKey store:(NSFNanoStore *)aStore
157
+ {
158
+ if (self = [self init]) {
159
+ info = [aDictionary retain];
160
+ key = [aKey copy];
161
+ }</li>
162
+ </ul>
163
+ </span>
164
+ </span>
165
+
166
+ <span class="task-item-suffix">required method</span>
167
+ </li><li>
168
+ <span class="tooltip">
169
+ <code><a href="#//api/name/nanoObjectDictionaryRepresentation">&ndash;&nbsp;nanoObjectDictionaryRepresentation</a></code>
170
+ <span class="tooltip"><p>Returns a dictionary that contains the information stored in the object.</p></span>
171
+ </span>
172
+
173
+ <span class="task-item-suffix">required method</span>
174
+ </li><li>
175
+ <span class="tooltip">
176
+ <code><a href="#//api/name/nanoObjectKey">&ndash;&nbsp;nanoObjectKey</a></code>
177
+ <span class="tooltip"><p>Returns the key associated with the object.
178
+ @note
179
+ The class <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a> contains a convenience method for this purpose: \ref <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a>::stringWithUUID &ldquo;+(NSString*)stringWithUUID&rdquo;</p></span>
180
+ </span>
181
+
182
+ <span class="task-item-suffix">required method</span>
183
+ </li><li>
184
+ <span class="tooltip">
185
+ <code><a href="#//api/name/rootObject">&ndash;&nbsp;rootObject</a></code>
186
+ <span class="tooltip"><ul>
187
+ <li>Returns a reference to the object holding the private data or information that will be used for sorting.</li>
188
+ <li>Most custom objects will return <i>self</i>, as is the case for <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a>. Since we can sort a bag by <i>name</i>, <i>key</i> or <i>hasUnsavedChanges</i>,</li>
189
+ <li>NanoStore requires a hint to find the attribute. This hint is the root object, which KVC uses to perform the sort. Taking <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> as an example:
190
+ @code
191
+ @interface <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> : NSObject <a href="NSFNanoObjectProtocol.html">NSFNanoObjectProtocol</a>, NSCopying>
192
+ {
193
+ <a href="../Classes/NSFNanoStore.html">NSFNanoStore</a> <em>store;
194
+ NSString </em>name;
195
+ NSString *key;
196
+ BOOL hasUnsavedChanges;
197
+ }
198
+ @endcode</li>
199
+ <li>The implementation of <i>rootObject</i> would look like so:
200
+ @code</li>
201
+ <li>(id)rootObject
202
+ {
203
+ return self;
204
+ }
205
+ @endcode</li>
206
+ <li>Other objects may point directly to the collection that holds the information. <a href="../Classes/NSFNanoObject.html">NSFNanoObject</a> stores all its data in the <i>info</i> dictionary, so the</li>
207
+ <li>implementation looks like this:
208
+ @code</li>
209
+ <li>(id)rootObject
210
+ {
211
+ return info;
212
+ }
213
+ @endcode</li>
214
+ <li>Assuming that <i>info</i> contains a key named <i>City</i>, we would specify a <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> which would sort the cities like so:
215
+ @code
216
+ <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;City&rdquo; ascending:YES];
217
+ @endcode</li>
218
+ <li>If we had returned <i>self</i> as the root object, the sort descriptor would have to be written like so:
219
+ @code
220
+ NSFNanoSortDescriptor *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;info.City&rdquo; ascending:YES];
221
+ @endcode</li>
222
+ </ul>
223
+ </span>
224
+ </span>
225
+
226
+ <span class="task-item-suffix">required method</span>
227
+ </li>
228
+ </ul>
229
+
230
+ </div>
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+ <div class="section section-methods">
241
+ <a title="Instance Methods" name="instance_methods"></a>
242
+ <h2 class="subtitle subtitle-methods">Instance Methods</h2>
243
+
244
+ <div class="section-method">
245
+ <a name="//api/name/initNanoObjectFromDictionaryRepresentation:forKey:store:" title="initNanoObjectFromDictionaryRepresentation:forKey:store:"></a>
246
+ <h3 class="subsubtitle method-title">initNanoObjectFromDictionaryRepresentation:forKey:store:</h3>
247
+
248
+
249
+
250
+ <div class="method-subsection brief-description">
251
+ <ul>
252
+ <li>Initializes a newly allocated object containing a given key and value associated with a document store.</li>
253
+ <li>@param theDictionary the information associated with the object.</li>
254
+ <li>@param aKey the key associated with the information.</li>
255
+ <li>@param theStore the document store where the object is stored.</li>
256
+ <li>@return An initialized object upon success, nil otherwise.</li>
257
+ <li>@details <b>Example:</b>
258
+ @code</li>
259
+ <li>(id)initNanoObjectFromDictionaryRepresentation:(NSDictionary <em>)aDictionary forKey:(NSString </em>)aKey store:(NSFNanoStore *)aStore
260
+ {
261
+ if (self = [self init]) {
262
+ info = [aDictionary retain];
263
+ key = [aKey copy];
264
+ }</li>
265
+ </ul>
266
+
267
+ </div>
268
+
269
+
270
+
271
+ <div class="method-subsection method-declaration"><code>- (id)initNanoObjectFromDictionaryRepresentation:(NSDictionary *)<em>theDictionary</em> forKey:(NSString *)<em>aKey</em> store:(NSFNanoStore *)<em>theStore</em></code></div>
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+ <div class="method-subsection discussion-section">
282
+ <h4 class="method-subtitle">Discussion</h4>
283
+ <ul>
284
+ <li>Initializes a newly allocated object containing a given key and value associated with a document store.</li>
285
+ <li>@param theDictionary the information associated with the object.</li>
286
+ <li>@param aKey the key associated with the information.</li>
287
+ <li>@param theStore the document store where the object is stored.</li>
288
+ <li>@return An initialized object upon success, nil otherwise.</li>
289
+ <li>@details <b>Example:</b>
290
+ @code</li>
291
+ <li><p>(id)initNanoObjectFromDictionaryRepresentation:(NSDictionary <em>)aDictionary forKey:(NSString </em>)aKey store:(NSFNanoStore *)aStore
292
+ {
293
+ if (self = [self init]) {
294
+ info = [aDictionary retain];
295
+ key = [aKey copy];
296
+ }</p>
297
+
298
+ <p> return self;
299
+ }
300
+ @endcode</p></li>
301
+ </ul>
302
+
303
+ </div>
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+ <div class="method-subsection declared-in-section">
312
+ <h4 class="method-subtitle">Declared In</h4>
313
+ <code class="declared-in-ref">NSFNanoObjectProtocol.h</code><br />
314
+ </div>
315
+
316
+
317
+ </div>
318
+
319
+ <div class="section-method">
320
+ <a name="//api/name/nanoObjectDictionaryRepresentation" title="nanoObjectDictionaryRepresentation"></a>
321
+ <h3 class="subsubtitle method-title">nanoObjectDictionaryRepresentation</h3>
322
+
323
+
324
+
325
+ <div class="method-subsection brief-description">
326
+ <p>Returns a dictionary that contains the information stored in the object.</p>
327
+ </div>
328
+
329
+
330
+
331
+ <div class="method-subsection method-declaration"><code>- (NSDictionary *)nanoObjectDictionaryRepresentation</code></div>
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+ <div class="method-subsection discussion-section">
342
+ <h4 class="method-subtitle">Discussion</h4>
343
+ <p>Returns a dictionary that contains the information stored in the object.</p>
344
+ </div>
345
+
346
+
347
+
348
+
349
+
350
+ <div class="method-subsection see-also-section">
351
+ <h4 class="method-subtitle">See Also</h4>
352
+ <ul>
353
+
354
+ <li><code><p>\link <a href="#//api/name/nanoObjectKey">&ndash; nanoObjectKey</a> &ndash; (NSString *)<a href="#//api/name/nanoObjectKey">&ndash; nanoObjectKey</a> \endlink</p></code></li>
355
+
356
+ </ul>
357
+ </div>
358
+
359
+
360
+
361
+ <div class="method-subsection declared-in-section">
362
+ <h4 class="method-subtitle">Declared In</h4>
363
+ <code class="declared-in-ref">NSFNanoObjectProtocol.h</code><br />
364
+ </div>
365
+
366
+
367
+ </div>
368
+
369
+ <div class="section-method">
370
+ <a name="//api/name/nanoObjectKey" title="nanoObjectKey"></a>
371
+ <h3 class="subsubtitle method-title">nanoObjectKey</h3>
372
+
373
+
374
+
375
+ <div class="method-subsection brief-description">
376
+ <p>Returns the key associated with the object.
377
+ @note
378
+ The class <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a> contains a convenience method for this purpose: \ref <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a>::stringWithUUID &ldquo;+(NSString*)stringWithUUID&rdquo;</p>
379
+ </div>
380
+
381
+
382
+
383
+ <div class="method-subsection method-declaration"><code>- (NSString *)nanoObjectKey</code></div>
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+ <div class="method-subsection discussion-section">
394
+ <h4 class="method-subtitle">Discussion</h4>
395
+ <p>Returns the key associated with the object.
396
+ @note
397
+ The class <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a> contains a convenience method for this purpose: \ref <a href="../Classes/NSFNanoEngine.html">NSFNanoEngine</a>::stringWithUUID &ldquo;+(NSString*)stringWithUUID&rdquo;</p>
398
+ </div>
399
+
400
+
401
+
402
+
403
+
404
+ <div class="method-subsection see-also-section">
405
+ <h4 class="method-subtitle">See Also</h4>
406
+ <ul>
407
+
408
+ <li><code><p>\link <a href="#//api/name/nanoObjectDictionaryRepresentation">&ndash; nanoObjectDictionaryRepresentation</a> &ndash; (NSDictionary *)<a href="#//api/name/nanoObjectDictionaryRepresentation">&ndash; nanoObjectDictionaryRepresentation</a> \endlink</p></code></li>
409
+
410
+ </ul>
411
+ </div>
412
+
413
+
414
+
415
+ <div class="method-subsection declared-in-section">
416
+ <h4 class="method-subtitle">Declared In</h4>
417
+ <code class="declared-in-ref">NSFNanoObjectProtocol.h</code><br />
418
+ </div>
419
+
420
+
421
+ </div>
422
+
423
+ <div class="section-method">
424
+ <a name="//api/name/rootObject" title="rootObject"></a>
425
+ <h3 class="subsubtitle method-title">rootObject</h3>
426
+
427
+
428
+
429
+ <div class="method-subsection brief-description">
430
+ <ul>
431
+ <li>Returns a reference to the object holding the private data or information that will be used for sorting.</li>
432
+ <li>Most custom objects will return <i>self</i>, as is the case for <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a>. Since we can sort a bag by <i>name</i>, <i>key</i> or <i>hasUnsavedChanges</i>,</li>
433
+ <li>NanoStore requires a hint to find the attribute. This hint is the root object, which KVC uses to perform the sort. Taking <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> as an example:
434
+ @code
435
+ @interface <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> : NSObject <a href="NSFNanoObjectProtocol.html">NSFNanoObjectProtocol</a>, NSCopying>
436
+ {
437
+ <a href="../Classes/NSFNanoStore.html">NSFNanoStore</a> <em>store;
438
+ NSString </em>name;
439
+ NSString *key;
440
+ BOOL hasUnsavedChanges;
441
+ }
442
+ @endcode</li>
443
+ <li>The implementation of <i>rootObject</i> would look like so:
444
+ @code</li>
445
+ <li>(id)rootObject
446
+ {
447
+ return self;
448
+ }
449
+ @endcode</li>
450
+ <li>Other objects may point directly to the collection that holds the information. <a href="../Classes/NSFNanoObject.html">NSFNanoObject</a> stores all its data in the <i>info</i> dictionary, so the</li>
451
+ <li>implementation looks like this:
452
+ @code</li>
453
+ <li>(id)rootObject
454
+ {
455
+ return info;
456
+ }
457
+ @endcode</li>
458
+ <li>Assuming that <i>info</i> contains a key named <i>City</i>, we would specify a <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> which would sort the cities like so:
459
+ @code
460
+ <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;City&rdquo; ascending:YES];
461
+ @endcode</li>
462
+ <li>If we had returned <i>self</i> as the root object, the sort descriptor would have to be written like so:
463
+ @code
464
+ NSFNanoSortDescriptor *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;info.City&rdquo; ascending:YES];
465
+ @endcode</li>
466
+ </ul>
467
+
468
+ </div>
469
+
470
+
471
+
472
+ <div class="method-subsection method-declaration"><code>- (id)rootObject</code></div>
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+ <div class="method-subsection discussion-section">
483
+ <h4 class="method-subtitle">Discussion</h4>
484
+ <ul>
485
+ <li>Returns a reference to the object holding the private data or information that will be used for sorting.</li>
486
+ <li>Most custom objects will return <i>self</i>, as is the case for <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a>. Since we can sort a bag by <i>name</i>, <i>key</i> or <i>hasUnsavedChanges</i>,</li>
487
+ <li>NanoStore requires a hint to find the attribute. This hint is the root object, which KVC uses to perform the sort. Taking <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> as an example:
488
+ @code
489
+ @interface <a href="../Classes/NSFNanoBag.html">NSFNanoBag</a> : NSObject <a href="NSFNanoObjectProtocol.html">NSFNanoObjectProtocol</a>, NSCopying>
490
+ {
491
+ <a href="../Classes/NSFNanoStore.html">NSFNanoStore</a> <em>store;
492
+ NSString </em>name;
493
+ NSString *key;
494
+ BOOL hasUnsavedChanges;
495
+ }
496
+ @endcode</li>
497
+ <li>The implementation of <i>rootObject</i> would look like so:
498
+ @code</li>
499
+ <li>(id)rootObject
500
+ {
501
+ return self;
502
+ }
503
+ @endcode</li>
504
+ <li>Other objects may point directly to the collection that holds the information. <a href="../Classes/NSFNanoObject.html">NSFNanoObject</a> stores all its data in the <i>info</i> dictionary, so the</li>
505
+ <li>implementation looks like this:
506
+ @code</li>
507
+ <li>(id)rootObject
508
+ {
509
+ return info;
510
+ }
511
+ @endcode</li>
512
+ <li>Assuming that <i>info</i> contains a key named <i>City</i>, we would specify a <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> which would sort the cities like so:
513
+ @code
514
+ <a href="../Classes/NSFNanoSortDescriptor.html">NSFNanoSortDescriptor</a> *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;City&rdquo; ascending:YES];
515
+ @endcode</li>
516
+ <li>If we had returned <i>self</i> as the root object, the sort descriptor would have to be written like so:
517
+ @code
518
+ NSFNanoSortDescriptor *sortedCities = [[NSFNanoSortDescriptor alloc]initWithAttribute:@&ldquo;info.City&rdquo; ascending:YES];
519
+ @endcode</li>
520
+ </ul>
521
+
522
+ </div>
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+ <div class="method-subsection declared-in-section">
531
+ <h4 class="method-subtitle">Declared In</h4>
532
+ <code class="declared-in-ref">NSFNanoObjectProtocol.h</code><br />
533
+ </div>
534
+
535
+
536
+ </div>
537
+
538
+ </div>
539
+
540
+
541
+ </div>
542
+ <div class="main-navigation navigation-bottom">
543
+ <ul>
544
+ <li><a href="../index.html">Index</a></li>
545
+ <li><a href="../hierarchy.html">Hierarchy</a></li>
546
+ </ul>
547
+ </div>
548
+ <div id="footer">
549
+ <hr />
550
+ <div class="footer-copyright">
551
+ <p><span class="copyright">&copy; 2013 Tito Ciuro. All rights reserved. (Last updated: 2013-01-22)</span><br />
552
+
553
+ <span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.0.5 (build 789)</a>.</span></p>
554
+
555
+ </div>
556
+ </div>
557
+ </div>
558
+ </article>
559
+ <script type="text/javascript">
560
+ function jumpToChange()
561
+ {
562
+ window.location.hash = this.options[this.selectedIndex].value;
563
+ }
564
+
565
+ function toggleTOC()
566
+ {
567
+ var contents = document.getElementById('contents');
568
+ var tocContainer = document.getElementById('tocContainer');
569
+
570
+ if (this.getAttribute('class') == 'open')
571
+ {
572
+ this.setAttribute('class', '');
573
+ contents.setAttribute('class', '');
574
+ tocContainer.setAttribute('class', '');
575
+
576
+ window.name = "hideTOC";
577
+ }
578
+ else
579
+ {
580
+ this.setAttribute('class', 'open');
581
+ contents.setAttribute('class', 'isShowingTOC');
582
+ tocContainer.setAttribute('class', 'isShowingTOC');
583
+
584
+ window.name = "";
585
+ }
586
+ return false;
587
+ }
588
+
589
+ function toggleTOCEntryChildren(e)
590
+ {
591
+ e.stopPropagation();
592
+ var currentClass = this.getAttribute('class');
593
+ if (currentClass == 'children') {
594
+ this.setAttribute('class', 'children open');
595
+ }
596
+ else if (currentClass == 'children open') {
597
+ this.setAttribute('class', 'children');
598
+ }
599
+ return false;
600
+ }
601
+
602
+ function tocEntryClick(e)
603
+ {
604
+ e.stopPropagation();
605
+ return true;
606
+ }
607
+
608
+ function init()
609
+ {
610
+ var selectElement = document.getElementById('jumpTo');
611
+ selectElement.addEventListener('change', jumpToChange, false);
612
+
613
+ var tocButton = document.getElementById('table_of_contents');
614
+ tocButton.addEventListener('click', toggleTOC, false);
615
+
616
+ var taskTreeItem = document.getElementById('task_treeitem');
617
+ if (taskTreeItem.getElementsByTagName('li').length > 0)
618
+ {
619
+ taskTreeItem.setAttribute('class', 'children');
620
+ taskTreeItem.firstChild.setAttribute('class', 'disclosure');
621
+ }
622
+
623
+ var tocList = document.getElementById('toc');
624
+
625
+ var tocEntries = tocList.getElementsByTagName('li');
626
+ for (var i = 0; i < tocEntries.length; i++) {
627
+ tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
628
+ }
629
+
630
+ var tocLinks = tocList.getElementsByTagName('a');
631
+ for (var i = 0; i < tocLinks.length; i++) {
632
+ tocLinks[i].addEventListener('click', tocEntryClick, false);
633
+ }
634
+
635
+ if (window.name == "hideTOC") {
636
+ toggleTOC.call(tocButton);
637
+ }
638
+ }
639
+
640
+ window.onload = init;
641
+
642
+ // If showing in Xcode, hide the TOC and Header
643
+ if (navigator.userAgent.match(/xcode/i)) {
644
+ document.getElementById("contents").className = "hideInXcode"
645
+ document.getElementById("tocContainer").className = "hideInXcode"
646
+ document.getElementById("top_header").className = "hideInXcode"
647
+ }
648
+
649
+ </script>
650
+ </body>
651
+ </html>