[
  {
    "path": ".gitignore",
    "content": "# macOS\n.DS_Store\n\n# Xcode\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.resolved\n*.xcuserstate\nxcuserdata\n*.xccheckout\n*.xcscmblueprint\n\n# Only ignore example workspaces\nExamples/**/*.xcworkspace\n\n# Carthage\nCarthage/\n\n# CocoaPods\nPodfile.lock\nPods/\n"
  },
  {
    "path": ".gitmodules",
    "content": ""
  },
  {
    "path": ".swift-version",
    "content": "3.0.1\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "## master\n\n* Add your own contribution below\n\n## 5.0.0\n\n* Swift 3 - Ben Chatelain #103\n\n## 4.0.4\n"
  },
  {
    "path": "Cartfile",
    "content": "github \"realm/realm-cocoa\"\ngithub \"Roobiq/RealmUtilities\"\ngithub \"Roobiq/RBQSafeRealmObject\"\n"
  },
  {
    "path": "Documentation/html/Blocks/RBQChangeNotificationBlock.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQChangeNotificationBlock Block Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\n\t\n\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQChangeNotificationBlock Block Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMObject+Notifications.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Blocks/RBQNotificationBlock.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQNotificationBlock Block Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\n\t\n\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQNotificationBlock Block Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RBQRealmNotificationManager.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Categories/RLMArray+Utilities.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RLMArray(Utilities) Category Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/containsObject:\">- containsObject:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RLMArray(Utilities) Category Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMArray+Utilities.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This utility category provides convenience methods on RLMArray.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/containsObject:\" title=\"containsObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/containsObject:\">&ndash;&nbsp;containsObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Detect if RLMArray contains a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (BOOL)containsObject:(RLMObject *)<em>anObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>anObject</code></th>\n\t\t\t\t\t\t<td><p>RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>YES if RLMArray contains given object</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Detect if RLMArray contains a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMArray+Utilities.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Categories/RLMObject+Notifications.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RLMObject(Notifications) Category Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/changeWithNotification:\">- changeWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/changeWithNotificationInTransaction:\">- changeWithNotificationInTransaction:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RLMObject(Notifications) Category Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMObject+Notifications.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>Category on RLMObject that provides convenience methods to change a RLMObject while automatically notifying <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/changeWithNotification:\" title=\"changeWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/changeWithNotification:\">&ndash;&nbsp;changeWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method that accepts a <a href=\"../Blocks/RBQChangeNotificationBlock.html\">RBQChangeNotificationBlock</a>, which contains the current RLMObject as a parameter.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)changeWithNotification:(RBQChangeNotificationBlock)<em>block</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>block</code></th>\n\t\t\t\t\t\t<td><p>Block contains the RLMObject used to call this method. Edit the RLMObject within the block.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method that accepts a <a href=\"../Blocks/RBQChangeNotificationBlock.html\">RBQChangeNotificationBlock</a>, which contains the current RLMObject as a parameter.</p>\n\n<p>Edit the parameter object in the block and an automatic notification will be generated for <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/changeWithNotificationInTransaction:\" title=\"changeWithNotificationInTransaction:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/changeWithNotificationInTransaction:\">&ndash;&nbsp;changeWithNotificationInTransaction:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method that accepts a <a href=\"../Blocks/RBQChangeNotificationBlock.html\">RBQChangeNotificationBlock</a>, which contains the current RLMObject as a parameter.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)changeWithNotificationInTransaction:(RBQChangeNotificationBlock)<em>block</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>block</code></th>\n\t\t\t\t\t\t<td><p>Block contains the RLMObject used to call this method. Edit the RLMObject within the block.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method that accepts a <a href=\"../Blocks/RBQChangeNotificationBlock.html\">RBQChangeNotificationBlock</a>, which contains the current RLMObject as a parameter.</p>\n\n<p>The block will be run within the required beginWriteTransaction and commitWriteTransaction calls automatically. Edit the parameter object in the block and an automatic notification will be generated for <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a>.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Categories/RLMObject+SafeObject.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RLMObject(SafeObject) Category Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/rbq_objectFromSafeObject:\">+ rbq_objectFromSafeObject:</option>\n\t\t\n\t\t<option value=\"//api/name/rbq_objectInRealm:fromSafeObject:\">+ rbq_objectInRealm:fromSafeObject:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/rbq_safeObject\">- rbq_safeObject</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RLMObject(SafeObject) Category Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMObject+SafeObject.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>Category methods for RLMObject to convert into a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> and vice versa</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/rbq_objectFromSafeObject:\" title=\"rbq_objectFromSafeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/rbq_objectFromSafeObject:\">+&nbsp;rbq_objectFromSafeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a RLMObject from a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)rbq_objectFromSafeObject:(RBQSafeRealmObject *)<em>safeObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>safeObject</code></th>\n\t\t\t\t\t\t<td><p><a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> instance</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMObject of appropriate subtype</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a RLMObject from a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p>\n\n<p>Returns nil if the safe object&rsquo;s className doesn&rsquo;t match ours.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+SafeObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/rbq_objectInRealm:fromSafeObject:\" title=\"rbq_objectInRealm:fromSafeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/rbq_objectInRealm:fromSafeObject:\">+&nbsp;rbq_objectInRealm:fromSafeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a RLMObject in a specific Realm from a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)rbq_objectInRealm:(RLMRealm *)<em>realm</em> fromSafeObject:(RBQSafeRealmObject *)<em>safeObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>Realm in which the returned RLMObject is persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>safeObject</code></th>\n\t\t\t\t\t\t<td><p><a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> to convert into RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMObject of appropriate subtype</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a RLMObject in a specific Realm from a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p>\n\n<p>Returns nil if the safe object&rsquo;s className doesn&rsquo;t match ours.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+SafeObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/rbq_safeObject\" title=\"rbq_safeObject\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/rbq_safeObject\">&ndash;&nbsp;rbq_safeObject</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> from a RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (RBQSafeRealmObject *)rbq_safeObject</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p><a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> which is a thread-safe representation of the original RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> from a RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+SafeObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Categories/RLMObject+Utilities.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RLMObject(Utilities) Category Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/classNameForObject:\">+ classNameForObject:</option>\n\t\t\n\t\t<option value=\"//api/name/primaryKeyValueForObject:\">+ primaryKeyValueForObject:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RLMObject(Utilities) Category Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMObject+Utilities.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This utility category provides convenience methods to retrieve the primary key and original\nclass name for an RLMObject.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/primaryKeyValueForObject:\" title=\"primaryKeyValueForObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/primaryKeyValueForObject:\">+&nbsp;primaryKeyValueForObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the primary key for a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (id)primaryKeyValueForObject:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>RLMObject with a primary key</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Primary key value (NSInteger or NSString only)</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the primary key for a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+Utilities.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/classNameForObject:\" title=\"classNameForObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/classNameForObject:\">+&nbsp;classNameForObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the original class name for a generic RLMObject. Realm dynamically changes the class at\nrun-time, whereas this method returns the programatic class name.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (NSString *)classNameForObject:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>A RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Original programatic class name</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the original class name for a generic RLMObject. Realm dynamically changes the class at\nrun-time, whereas this method returns the programatic class name.</p><div class=\"warning\"><p><strong>Warning:</strong> This method returns the class name to be used programatically (such as with NSClassFromString()). Class names within Swift follow the pattern: &ldquo;AppName.ClassName&rdquo; whereas Obj-C it is simply &ldquo;ClassName&rdquo;. See Apple docs for more info: <a href=\"http://apple.co/1HMPGjg\">http://apple.co/1HMPGjg</a></p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMObject+Utilities.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Categories/RLMRealm+Notifications.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RLMRealm(Notifications) Category Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/addObjectWithNotification:\">- addObjectWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/addObjectsWithNotification:\">- addObjectsWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/addOrUpdateObjectWithNotification:\">- addOrUpdateObjectWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/addOrUpdateObjectsFromArrayWithNotification:\">- addOrUpdateObjectsFromArrayWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/deleteObjectWithNotification:\">- deleteObjectWithNotification:</option>\n\t\t\n\t\t<option value=\"//api/name/deleteObjectsWithNotification:\">- deleteObjectsWithNotification:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RLMRealm(Notifications) Category Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Declared in</th>\n\t<td>RLMRealm+Notifications.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>Category on RLMRealm that provides convenience methods similar to RLMRealm class methods but include notifying <a href=\"../Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a></p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/addObjectWithNotification:\" title=\"addObjectWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addObjectWithNotification:\">&ndash;&nbsp;addObjectWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to add an object to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)addObjectWithNotification:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>Standalone RLMObject to be persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to add an object to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/addObjectsWithNotification:\" title=\"addObjectsWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addObjectsWithNotification:\">&ndash;&nbsp;addObjectsWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to add a collection of RLMObjects to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)addObjectsWithNotification:(id&lt;NSFastEnumeration&gt;)<em>array</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>array</code></th>\n\t\t\t\t\t\t<td><p>A collection object that conforms to NSFastEnumeration (e.g. NSArray, RLMArray, RLMResults)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to add a collection of RLMObjects to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/addOrUpdateObjectWithNotification:\" title=\"addOrUpdateObjectWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addOrUpdateObjectWithNotification:\">&ndash;&nbsp;addOrUpdateObjectWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to add or update a RLMObject to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)addOrUpdateObjectWithNotification:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>RLMObject to add or update in the Realm</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to add or update a RLMObject to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\n<p>If the RLMObject is already persisted, then the new object will be used to update the persisted object.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/addOrUpdateObjectsFromArrayWithNotification:\" title=\"addOrUpdateObjectsFromArrayWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addOrUpdateObjectsFromArrayWithNotification:\">&ndash;&nbsp;addOrUpdateObjectsFromArrayWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to add or update a collection of RLMObjects to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)addOrUpdateObjectsFromArrayWithNotification:(id&lt;NSFastEnumeration&gt;)<em>array</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>array</code></th>\n\t\t\t\t\t\t<td><p>A collection object that conforms to NSFastEnumeration (e.g. NSArray, RLMArray, RLMResults)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to add or update a collection of RLMObjects to the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\n<p>If any RLMObject is already persisted, then the new object will be used to update the persisted object.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/deleteObjectWithNotification:\" title=\"deleteObjectWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/deleteObjectWithNotification:\">&ndash;&nbsp;deleteObjectWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to delete a RLMObject from the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)deleteObjectWithNotification:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>RLMObject to delete from the Realm</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to delete a RLMObject from the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/deleteObjectsWithNotification:\" title=\"deleteObjectsWithNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/deleteObjectsWithNotification:\">&ndash;&nbsp;deleteObjectsWithNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to delete a collection of RLMObjects from the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)deleteObjectsWithNotification:(id&lt;NSFastEnumeration&gt;)<em>array</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>array</code></th>\n\t\t\t\t\t\t<td><p>A collection object that conforms to NSFastEnumeration (e.g. NSArray, RLMArray, RLMResults)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to delete a collection of RLMObjects from the Realm and notify <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RLMRealm+Notifications.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQEntityChangesObject.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQEntityChangesObject Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/addedSafeObjects\">addedSafeObjects</option>\n\t\t\n\t\t<option value=\"//api/name/changedSafeObjects\">changedSafeObjects</option>\n\t\t\n\t\t<option value=\"//api/name/className\">className</option>\n\t\t\n\t\t<option value=\"//api/name/deletedSafeObjects\">deletedSafeObjects</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQEntityChangesObject Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQRealmNotificationManager.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>Class used by the <a href=\"../Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a> to represent the change set for a given entity. This object is passed in the NSDictionary (keyed by the entity name) contained in the <a href=\"../Blocks/RBQNotificationBlock.html\">RBQNotificationBlock</a> after a change to monitored Realm.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/className\" title=\"className\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/className\">&nbsp;&nbsp;className</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The class name of the entity</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (readonly, nonatomic) NSString *className</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The class name of the entity</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/addedSafeObjects\" title=\"addedSafeObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addedSafeObjects\">&nbsp;&nbsp;addedSafeObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the added objects</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (readonly, nonatomic) NSSet *addedSafeObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the added objects</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/deletedSafeObjects\" title=\"deletedSafeObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/deletedSafeObjects\">&nbsp;&nbsp;deletedSafeObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the deleted objects</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (readonly, nonatomic) NSSet *deletedSafeObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the deleted objects</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/changedSafeObjects\" title=\"changedSafeObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/changedSafeObjects\">&nbsp;&nbsp;changedSafeObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the changed objects</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (readonly, nonatomic) NSSet *changedSafeObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Collection of RBQSafeRealmObjects representing the changed objects</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQFetchRequest.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchRequest Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/entityName\">entityName</option>\n\t\t\n\t\t<option value=\"//api/name/inMemoryRealmId\">inMemoryRealmId</option>\n\t\t\n\t\t<option value=\"//api/name/predicate\">predicate</option>\n\t\t\n\t\t<option value=\"//api/name/realm\">realm</option>\n\t\t\n\t\t<option value=\"//api/name/realmPath\">realmPath</option>\n\t\t\n\t\t<option value=\"//api/name/sortDescriptors\">sortDescriptors</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/fetchRequestWithEntityName:inMemoryRealm:predicate:\">+ fetchRequestWithEntityName:inMemoryRealm:predicate:</option>\n\t\t\n\t\t<option value=\"//api/name/fetchRequestWithEntityName:inRealm:predicate:\">+ fetchRequestWithEntityName:inRealm:predicate:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/evaluateObject:\">- evaluateObject:</option>\n\t\t\n\t\t<option value=\"//api/name/fetchObjects\">- fetchObjects</option>\n\t\t\n\t\t<option value=\"//api/name/fetchObjectsInRealm:\">- fetchObjectsInRealm:</option>\n\t\t\n\t\t<option value=\"//api/name/initWithEntityName:inRealm:\">- initWithEntityName:inRealm:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchRequest Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQFetchRequest.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This class is used by the <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a> to represent the properties of the fetch. The RBQFetchRequest is specific to one RLMObject and uses an NSPredicate and array of RLMSortDescriptors to define the query.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/entityName\" title=\"entityName\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/entityName\">&nbsp;&nbsp;entityName</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>RLMObject class name for the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *entityName</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>RLMObject class name for the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/realm\" title=\"realm\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/realm\">&nbsp;&nbsp;realm</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The Realm in which the entity for the fetch request is persisted.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RLMRealm *realm</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The Realm in which the entity for the fetch request is persisted.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/realmPath\" title=\"realmPath\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/realmPath\">&nbsp;&nbsp;realmPath</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Path for the Realm associated with the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *realmPath</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Path for the Realm associated with the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/inMemoryRealmId\" title=\"inMemoryRealmId\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/inMemoryRealmId\">&nbsp;&nbsp;inMemoryRealmId</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The identifier of the in-memory Realm.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *inMemoryRealmId</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The identifier of the in-memory Realm.</p><div class=\"warning\"><p><strong>Warning:</strong> return nil if fetch request initialized without in-memory Realm</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/predicate\" title=\"predicate\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/predicate\">&nbsp;&nbsp;predicate</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Predicate supported by Realm</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, strong) NSPredicate *predicate</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Predicate supported by Realm</p>\n\n<p><a href=\"http://realm.io/docs/cocoa/0.89.2/\">http://realm.io/docs/cocoa/0.89.2/</a>#querying-with-predicates</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/sortDescriptors\" title=\"sortDescriptors\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/sortDescriptors\">&nbsp;&nbsp;sortDescriptors</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Array of RLMSortDescriptors</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, strong) NSArray *sortDescriptors</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Array of RLMSortDescriptors</p>\n\n<p><a href=\"http://realm.io/docs/cocoa/0.89.2/\">http://realm.io/docs/cocoa/0.89.2/</a>#ordering-results</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/fetchRequestWithEntityName:inRealm:predicate:\" title=\"fetchRequestWithEntityName:inRealm:predicate:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchRequestWithEntityName:inRealm:predicate:\">+&nbsp;fetchRequestWithEntityName:inRealm:predicate:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Constructor method to create a fetch request for a given entity name in a specific Realm.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (RBQFetchRequest *)fetchRequestWithEntityName:(NSString *)<em>entityName</em> inRealm:(RLMRealm *)<em>realm</em> predicate:(NSPredicate *)<em>predicate</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>entityName</code></th>\n\t\t\t\t\t\t<td><p>Class name for the RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>RLMRealm in which the RLMObject is persisted (if passing in-memory Realm, make sure to keep a strong reference elsewhere since fetch request only stores the path)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>predicate</code></th>\n\t\t\t\t\t\t<td><p>NSPredicate that represents the search query</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQFetchRequest</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Constructor method to create a fetch request for a given entity name in a specific Realm.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/fetchRequestWithEntityName:inMemoryRealm:predicate:\" title=\"fetchRequestWithEntityName:inMemoryRealm:predicate:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchRequestWithEntityName:inMemoryRealm:predicate:\">+&nbsp;fetchRequestWithEntityName:inMemoryRealm:predicate:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Constructor method to create a fetch request for a given entity name in an in-memory Realm.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (RBQFetchRequest *)fetchRequestWithEntityName:(NSString *)<em>entityName</em> inMemoryRealm:(RLMRealm *)<em>inMemoryRealm</em> predicate:(NSPredicate *)<em>predicate</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>entityName</code></th>\n\t\t\t\t\t\t<td><p>Class name for the RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>inMemoryRealm</code></th>\n\t\t\t\t\t\t<td><p>In-memory RLMRealm in which the RLMObject is persisted (caller must retain strong reference as fetch request does not)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>predicate</code></th>\n\t\t\t\t\t\t<td><p>NSPredicate that represents the search query</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQFetchRequest</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Constructor method to create a fetch request for a given entity name in an in-memory Realm.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/fetchObjects\" title=\"fetchObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchObjects\">&ndash;&nbsp;fetchObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve all the RLMObjects for this fetch request in its <a href=\"#//api/name/realm\">realm</a>.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (RLMResults *)fetchObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMResults for all the objects in the fetch request (not thread-safe).</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve all the RLMObjects for this fetch request in its <a href=\"#//api/name/realm\">realm</a>.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/fetchObjectsInRealm:\" title=\"fetchObjectsInRealm:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchObjectsInRealm:\">&ndash;&nbsp;fetchObjectsInRealm:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve all the RLMObjects for this fetch request in the specified <a href=\"#//api/name/realm\">realm</a>.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (RLMResults *)fetchObjectsInRealm:(RLMRealm *)<em>realm</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>RLMRealm in which the RLMObjects are persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMResults for all the objects in the fetch request (not thread-safe).</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve all the RLMObjects for this fetch request in the specified <a href=\"#//api/name/realm\">realm</a>.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/evaluateObject:\" title=\"evaluateObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/evaluateObject:\">&ndash;&nbsp;evaluateObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Should this object be in our fetch results?</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (BOOL)evaluateObject:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>Realm object of appropriate type</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>YES if performing fetch would include this object</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Should this object be in our fetch results?</p>\n\n<p>Intended to be used by the <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a> to evaluate incremental changes. For\nsimple fetch requests this just evaluates the NSPredicate, but subclasses may have a more\ncomplicated implementaiton.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/initWithEntityName:inRealm:\" title=\"initWithEntityName:inRealm:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/initWithEntityName:inRealm:\">&ndash;&nbsp;initWithEntityName:inRealm:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create RBQFetchRequest in RLMRealm instance with an entity name</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (instancetype)initWithEntityName:(NSString *)<em>entityName</em> inRealm:(RLMRealm *)<em>realm</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>entityName</code></th>\n\t\t\t\t\t\t<td><p>Class name for the RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>RLMRealm in which the RLMObject is persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQFetchRequest</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create RBQFetchRequest in RLMRealm instance with an entity name</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchRequest.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQFetchedResultsController.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchedResultsController Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/cacheName\">cacheName</option>\n\t\t\n\t\t<option value=\"//api/name/delegate\">delegate</option>\n\t\t\n\t\t<option value=\"//api/name/fetchRequest\">fetchRequest</option>\n\t\t\n\t\t<option value=\"//api/name/fetchedObjects\">fetchedObjects</option>\n\t\t\n\t\t<option value=\"//api/name/sectionNameKeyPath\">sectionNameKeyPath</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/allCacheRealmPaths\">+ allCacheRealmPaths</option>\n\t\t\n\t\t<option value=\"//api/name/deleteCacheWithName:\">+ deleteCacheWithName:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/indexPathForObject:\">- indexPathForObject:</option>\n\t\t\n\t\t<option value=\"//api/name/indexPathForSafeObject:\">- indexPathForSafeObject:</option>\n\t\t\n\t\t<option value=\"//api/name/initWithFetchRequest:sectionNameKeyPath:cacheName:\">- initWithFetchRequest:sectionNameKeyPath:cacheName:</option>\n\t\t\n\t\t<option value=\"//api/name/initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:\">- initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:</option>\n\t\t\n\t\t<option value=\"//api/name/numberOfRowsForSectionIndex:\">- numberOfRowsForSectionIndex:</option>\n\t\t\n\t\t<option value=\"//api/name/numberOfSections\">- numberOfSections</option>\n\t\t\n\t\t<option value=\"//api/name/objectAtIndexPath:\">- objectAtIndexPath:</option>\n\t\t\n\t\t<option value=\"//api/name/objectInRealm:atIndexPath:\">- objectInRealm:atIndexPath:</option>\n\t\t\n\t\t<option value=\"//api/name/performFetch\">- performFetch</option>\n\t\t\n\t\t<option value=\"//api/name/reset\">- reset</option>\n\t\t\n\t\t<option value=\"//api/name/safeObjectAtIndexPath:\">- safeObjectAtIndexPath:</option>\n\t\t\n\t\t<option value=\"//api/name/sectionIndexForSectionName:\">- sectionIndexForSectionName:</option>\n\t\t\n\t\t<option value=\"//api/name/titleForHeaderInSection:\">- titleForHeaderInSection:</option>\n\t\t\n\t\t<option value=\"//api/name/updateFetchRequest:sectionNameKeyPath:andPeformFetch:\">- updateFetchRequest:sectionNameKeyPath:andPeformFetch:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchedResultsController Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQFetchedResultsController.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>The class is used to monitor changes from a <a href=\"../Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a> to convert these changes into specific index path or section index changes. Typically this is used to back a UITableView and support animations when items are inserted, deleted, or changed.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/fetchRequest\" title=\"fetchRequest\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchRequest\">&nbsp;&nbsp;fetchRequest</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The fetch request for the controller</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RBQFetchRequest *fetchRequest</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The fetch request for the controller</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/sectionNameKeyPath\" title=\"sectionNameKeyPath\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/sectionNameKeyPath\">&nbsp;&nbsp;sectionNameKeyPath</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The section name key path used to create the sections. Can be nil if no sections.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *sectionNameKeyPath</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The section name key path used to create the sections. Can be nil if no sections.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/delegate\" title=\"delegate\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/delegate\">&nbsp;&nbsp;delegate</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The delegate to pass the index path and section changes to.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, weak) id&lt;RBQFetchedResultsControllerDelegate&gt; delegate</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The delegate to pass the index path and section changes to.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/cacheName\" title=\"cacheName\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/cacheName\">&nbsp;&nbsp;cacheName</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The name of the cache used internally to represent the tableview structure.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *cacheName</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The name of the cache used internally to represent the tableview structure.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/fetchedObjects\" title=\"fetchedObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/fetchedObjects\">&nbsp;&nbsp;fetchedObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>All the objects that match the fetch request.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RLMResults *fetchedObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>All the objects that match the fetch request.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/deleteCacheWithName:\" title=\"deleteCacheWithName:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/deleteCacheWithName:\">+&nbsp;deleteCacheWithName:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Deletes the cached section information with the given name</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (void)deleteCacheWithName:(NSString *)<em>name</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>name</code></th>\n\t\t\t\t\t\t<td><p>The name of the cache file to delete. If name is nil, deletes all cache files.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Deletes the cached section information with the given name</p>\n\n<p>If name is not nil, then the cache will be cleaned, but not deleted from disk.</p>\n\n<p>If name is nil, then all caches will be deleted by removing the files from disk.</p><div class=\"warning\"><p><strong>Warning:</strong> If clearing all caches (name is nil), it is recommended to do this in didFinishLaunchingWithOptions: in AppDelegate because RLMRealm files cannot be deleted from disk safely, if there are strong references to them.</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/allCacheRealmPaths\" title=\"allCacheRealmPaths\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/allCacheRealmPaths\">+&nbsp;allCacheRealmPaths</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieves all the paths for the Realm files being used as FRC caches on disk.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (NSArray *)allCacheRealmPaths</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>NSArray of NSStrings representing the paths on disk for all FRC cache Realm files</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieves all the paths for the Realm files being used as FRC caches on disk.</p>\n\n<p>The typical use case for this method is to use the paths to perform migrations in AppDelegate. The FRC cache files need to be migrated along with your other Realm files because by default Realm includes all of the properties defined in your model in all Realm files. Thus the FRC cache files will throw an exception if they are not migrated. Call setSchemaVersion:forRealmAtPath:withMigrationBlock: for each path returned in the array.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/initWithFetchRequest:sectionNameKeyPath:cacheName:\" title=\"initWithFetchRequest:sectionNameKeyPath:cacheName:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/initWithFetchRequest:sectionNameKeyPath:cacheName:\">&ndash;&nbsp;initWithFetchRequest:sectionNameKeyPath:cacheName:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Constructor method to initialize the controller</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)initWithFetchRequest:(RBQFetchRequest *)<em>fetchRequest</em> sectionNameKeyPath:(NSString *)<em>sectionNameKeyPath</em> cacheName:(NSString *)<em>name</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>fetchRequest</code></th>\n\t\t\t\t\t\t<td><p>the <a href=\"../Classes/RBQFetchRequest.html\">RBQFetchRequest</a> for the controller</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>sectionNameKeyPath</code></th>\n\t\t\t\t\t\t<td><p>A key path on result objects that returns the section name. Pass nil to indicate that the controller should generate a single section. If this key path is not the same as that specified by the first sort descriptor in <a href=\"#//api/name/fetchRequest\">fetchRequest</a>, they must generate the same relative orderings.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>name</code></th>\n\t\t\t\t\t\t<td><p>the cache name (if nil, cache will not be persisted and built using an in-memory Realm)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQFetchedResultsController</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Constructor method to initialize the controller</p><div class=\"warning\"><p><strong>Warning:</strong> Specify a cache name if deletion of the cache later on is necessary</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:\" title=\"initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:\">&ndash;&nbsp;initWithFetchRequest:sectionNameKeyPath:inMemoryRealmCache:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Constructor method to initialize the controller using an explicit in-memory Realm rather than the persisted cache.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)initWithFetchRequest:(RBQFetchRequest *)<em>fetchRequest</em> sectionNameKeyPath:(NSString *)<em>sectionNameKeyPath</em> inMemoryRealmCache:(RLMRealm *)<em>inMemoryRealm</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>fetchRequest</code></th>\n\t\t\t\t\t\t<td><p>the <a href=\"../Classes/RBQFetchRequest.html\">RBQFetchRequest</a> for the controller</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>sectionNameKeyPath</code></th>\n\t\t\t\t\t\t<td><p>the section name key path used to create sections (can be nil)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>inMemoryRealm</code></th>\n\t\t\t\t\t\t<td><p>the in-memory Realm to be used for the internal cache</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQFetchedResultsController</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Constructor method to initialize the controller using an explicit in-memory Realm rather than the persisted cache.</p><div class=\"warning\"><p><strong>Warning:</strong> This should only be used if access to the in-memory Realm for the cache instance is necessary. initWithFetchRequest:sectionNameKeyPath:<a href=\"#//api/name/cacheName\">cacheName</a> will internally use an in-memory cache if <a href=\"#//api/name/cacheName\">cacheName</a> is nil</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/performFetch\" title=\"performFetch\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/performFetch\">&ndash;&nbsp;performFetch</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Method to tell the controller to perform the fetch</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (BOOL)performFetch</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Indicates if the fetch was successful</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Method to tell the controller to perform the fetch</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/reset\" title=\"reset\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/reset\">&ndash;&nbsp;reset</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Call this method to force the cache to be rebuilt.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)reset</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Call this method to force the cache to be rebuilt.</p>\n\n<p>A potential use case would be to call this in a @catch after trying to call endUpdates for the table view. If an exception is thrown, then the cache will be rebuilt and you can call reloadData on the table view.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/numberOfRowsForSectionIndex:\" title=\"numberOfRowsForSectionIndex:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/numberOfRowsForSectionIndex:\">&ndash;&nbsp;numberOfRowsForSectionIndex:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Method to retrieve the number of rows for a given section index</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSInteger)numberOfRowsForSectionIndex:(NSInteger)<em>index</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>index</code></th>\n\t\t\t\t\t\t<td><p>section index</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>number of rows in the section</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Method to retrieve the number of rows for a given section index</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/numberOfSections\" title=\"numberOfSections\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/numberOfSections\">&ndash;&nbsp;numberOfSections</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Method to retrieve the number of sections represented by the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSInteger)numberOfSections</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>number of sections</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Method to retrieve the number of sections represented by the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/titleForHeaderInSection:\" title=\"titleForHeaderInSection:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/titleForHeaderInSection:\">&ndash;&nbsp;titleForHeaderInSection:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Method to retrieve the title for a given section index</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSString *)titleForHeaderInSection:(NSInteger)<em>section</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>section</code></th>\n\t\t\t\t\t\t<td><p>section index</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>The title of the section</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Method to retrieve the title for a given section index</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/sectionIndexForSectionName:\" title=\"sectionIndexForSectionName:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/sectionIndexForSectionName:\">&ndash;&nbsp;sectionIndexForSectionName:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Method to retrieve the section index given a section name</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSUInteger)sectionIndexForSectionName:(NSString *)<em>sectionName</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>sectionName</code></th>\n\t\t\t\t\t\t<td><p>the name of the section</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>the index of the section (returns NSNotFound if no section with the given name)</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Method to retrieve the section index given a section name</p><div class=\"warning\"><p><strong>Warning:</strong> Returns NSNotFound if there is not a section with the given name</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/safeObjectAtIndexPath:\" title=\"safeObjectAtIndexPath:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/safeObjectAtIndexPath:\">&ndash;&nbsp;safeObjectAtIndexPath:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> for a given index path</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (RBQSafeRealmObject *)safeObjectAtIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>indexPath</code></th>\n\t\t\t\t\t\t<td><p>the index path of the object</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p><a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> for a given index path</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/objectAtIndexPath:\" title=\"objectAtIndexPath:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/objectAtIndexPath:\">&ndash;&nbsp;objectAtIndexPath:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the RLMObject for a given index path</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)objectAtIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>indexPath</code></th>\n\t\t\t\t\t\t<td><p>the index path of the object</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the RLMObject for a given index path</p><div class=\"warning\"><p><strong>Warning:</strong> Returned object is not thread-safe.</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/objectInRealm:atIndexPath:\" title=\"objectInRealm:atIndexPath:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/objectInRealm:atIndexPath:\">&ndash;&nbsp;objectInRealm:atIndexPath:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the RLMObject in a specific Realm for a given index path</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)objectInRealm:(RLMRealm *)<em>realm</em> atIndexPath:(NSIndexPath *)<em>indexPath</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>the Realm in which the RLMObject is persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>indexPath</code></th>\n\t\t\t\t\t\t<td><p>the index path of the object</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the RLMObject in a specific Realm for a given index path</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/indexPathForSafeObject:\" title=\"indexPathForSafeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/indexPathForSafeObject:\">&ndash;&nbsp;indexPathForSafeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the index path for a safe object in the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSIndexPath *)indexPathForSafeObject:(RBQSafeRealmObject *)<em>safeObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>safeObject</code></th>\n\t\t\t\t\t\t<td><p><a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>index path of the object</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the index path for a safe object in the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/indexPathForObject:\" title=\"indexPathForObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/indexPathForObject:\">&ndash;&nbsp;indexPathForObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the index path for a RLMObject in the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (NSIndexPath *)indexPathForObject:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>index path of the object</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the index path for a RLMObject in the fetch request</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/updateFetchRequest:sectionNameKeyPath:andPeformFetch:\" title=\"updateFetchRequest:sectionNameKeyPath:andPeformFetch:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/updateFetchRequest:sectionNameKeyPath:andPeformFetch:\">&ndash;&nbsp;updateFetchRequest:sectionNameKeyPath:andPeformFetch:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to safely update the fetch request for an existing RBQFetchResultsController</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)updateFetchRequest:(RBQFetchRequest *)<em>fetchRequest</em> sectionNameKeyPath:(NSString *)<em>sectionNameKeyPath</em> andPeformFetch:(BOOL)<em>performFetch</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>fetchRequest</code></th>\n\t\t\t\t\t\t<td><p>a new instance of <a href=\"../Classes/RBQFetchRequest.html\">RBQFetchRequest</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>sectionNameKeyPath</code></th>\n\t\t\t\t\t\t<td><p>the section name key path for this fetch request (if nil, no sections will be shown)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>performFetch</code></th>\n\t\t\t\t\t\t<td><p>indicates whether you want to immediately <a href=\"#//api/name/performFetch\">performFetch</a> using the new fetch request to rebuild the cache</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to safely update the fetch request for an existing RBQFetchResultsController</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQFetchedResultsSectionInfo.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchedResultsSectionInfo Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/name\">name</option>\n\t\t\n\t\t<option value=\"//api/name/numberOfObjects\">numberOfObjects</option>\n\t\t\n\t\t<option value=\"//api/name/objects\">objects</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchedResultsSectionInfo Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQFetchedResultsController.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This class is used by the <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a> to pass along section info.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/numberOfObjects\" title=\"numberOfObjects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/numberOfObjects\">&nbsp;&nbsp;numberOfObjects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The number of <a href=\"#//api/name/objects\">objects</a> in the section.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSUInteger numberOfObjects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The number of <a href=\"#//api/name/objects\">objects</a> in the section.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/objects\" title=\"objects\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/objects\">&nbsp;&nbsp;objects</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The objects in the section (generated on-demand and not thread-safe).</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RLMResults *objects</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The objects in the section (generated on-demand and not thread-safe).</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/name\" title=\"name\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/name\">&nbsp;&nbsp;name</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The name of the section.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *name</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The name of the section.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQRealmChangeLogger.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQRealmChangeLogger Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/defaultLogger\">+ defaultLogger</option>\n\t\t\n\t\t<option value=\"//api/name/loggerForRealm:\">+ loggerForRealm:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/didAddObject:\">- didAddObject:</option>\n\t\t\n\t\t<option value=\"//api/name/didAddObjects:\">- didAddObjects:</option>\n\t\t\n\t\t<option value=\"//api/name/didAddObjects:willDeleteObjects:didChangeObjects:\">- didAddObjects:willDeleteObjects:didChangeObjects:</option>\n\t\t\n\t\t<option value=\"//api/name/didChangeObject:\">- didChangeObject:</option>\n\t\t\n\t\t<option value=\"//api/name/didChangeObjects:\">- didChangeObjects:</option>\n\t\t\n\t\t<option value=\"//api/name/willDeleteObject:\">- willDeleteObject:</option>\n\t\t\n\t\t<option value=\"//api/name/willDeleteObjects:\">- willDeleteObjects:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQRealmChangeLogger Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQRealmNotificationManager.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This class is used to track changes to a given RLMRealm. Since Realm doesn&rsquo;t support automatic change tracking, this class allows the developer to log object changes, which will be passed along to the <a href=\"../Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a> who in turn broadcasts it to any listeners</p>\n\n<p>Since RLMObjects are not thread-safe, when an object is logged to the manager, it is internally transformed into an <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> that is thread-safe and this will then be passed to any listeners once the Realm being monitored updates.</p><div class=\"warning\"><p><strong>Warning:</strong> Only RLMObjects with primary keys can be logged because the primary key is required to create a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a>.</p></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/defaultLogger\" title=\"defaultLogger\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/defaultLogger\">+&nbsp;defaultLogger</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Creates or retrieves the logger instance for the default Realm on the current thread</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)defaultLogger</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Instance of RBQRealmChangeLogger</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Creates or retrieves the logger instance for the default Realm on the current thread</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/loggerForRealm:\" title=\"loggerForRealm:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/loggerForRealm:\">+&nbsp;loggerForRealm:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Creates or retrieves the logger instance for a specific Realm on the current thread</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)loggerForRealm:(RLMRealm *)<em>realm</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>A RLMRealm instance</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Instance of RBQRealmChangeLogger</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Creates or retrieves the logger instance for a specific Realm on the current thread</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/didAddObject:\" title=\"didAddObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/didAddObject:\">&ndash;&nbsp;didAddObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register an addition for a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)didAddObject:(RLMObject *)<em>addedObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>addedObject</code></th>\n\t\t\t\t\t\t<td><p>Added RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register an addition for a given RLMObject</p><div class=\"warning\"><p><strong>Warning:</strong> Can be called before or after the addition to Realm</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/didAddObjects:\" title=\"didAddObjects:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/didAddObjects:\">&ndash;&nbsp;didAddObjects:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register a collection of RLMObject additions</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)didAddObjects:(id&lt;NSFastEnumeration&gt;)<em>addedObjects</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>addedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of added RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register a collection of RLMObject additions</p><div class=\"warning\"><p><strong>Warning:</strong> Can be called before or after the additions to Realm</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/willDeleteObject:\" title=\"willDeleteObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/willDeleteObject:\">&ndash;&nbsp;willDeleteObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register a delete for a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)willDeleteObject:(RLMObject *)<em>deletedObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>deletedObject</code></th>\n\t\t\t\t\t\t<td><p>To be deleted RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register a delete for a given RLMObject</p><div class=\"warning\"><p><strong>Warning:</strong> Must be called before the delete in Realm (since the RLMObject will then be invalidated).</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/willDeleteObjects:\" title=\"willDeleteObjects:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/willDeleteObjects:\">&ndash;&nbsp;willDeleteObjects:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register a collection of RLMObject deletes</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)willDeleteObjects:(id&lt;NSFastEnumeration&gt;)<em>deletedObjects</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>deletedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of deleted RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register a collection of RLMObject deletes</p><div class=\"warning\"><p><strong>Warning:</strong> Must be called before the delete in Realm (since the RLMObject will then be invalidated).</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/didChangeObject:\" title=\"didChangeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/didChangeObject:\">&ndash;&nbsp;didChangeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register a change for a given RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)didChangeObject:(RLMObject *)<em>changedObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>changedObject</code></th>\n\t\t\t\t\t\t<td><p>Changed RLMObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register a change for a given RLMObject</p><div class=\"warning\"><p><strong>Warning:</strong> Can be called before or after change to Realm</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/didChangeObjects:\" title=\"didChangeObjects:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/didChangeObjects:\">&ndash;&nbsp;didChangeObjects:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Register a collection of RLMObject changes</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)didChangeObjects:(id&lt;NSFastEnumeration&gt;)<em>changedObjects</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>changedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of changed RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Register a collection of RLMObject changes</p><div class=\"warning\"><p><strong>Warning:</strong> Can be called before or after change to Realm</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/didAddObjects:willDeleteObjects:didChangeObjects:\" title=\"didAddObjects:willDeleteObjects:didChangeObjects:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/didAddObjects:willDeleteObjects:didChangeObjects:\">&ndash;&nbsp;didAddObjects:willDeleteObjects:didChangeObjects:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Convenience method to pass array of objects changed. Will ignore nil values;</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)didAddObjects:(id&lt;NSFastEnumeration&gt;)<em>addedObjects</em> willDeleteObjects:(id&lt;NSFastEnumeration&gt;)<em>deletedObjects</em> didChangeObjects:(id&lt;NSFastEnumeration&gt;)<em>changedObjects</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>addedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of added RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>deletedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of deleted RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>changedObjects</code></th>\n\t\t\t\t\t\t<td><p>RLMArray, RLMResults, NSSet, or NSArray of changed RLMObjects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Convenience method to pass array of objects changed. Will ignore nil values;</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQRealmNotificationManager.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQRealmNotificationManager Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/entityChanges\">entityChanges</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/defaultManager\">+ defaultManager</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/addNotificationBlock:\">- addNotificationBlock:</option>\n\t\t\n\t\t<option value=\"//api/name/removeNotification:\">- removeNotification:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQRealmNotificationManager Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQRealmNotificationManager.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>This class works in conjunction with any instances of <a href=\"../Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a> to broadcast any changes to the registered listeners</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/entityChanges\" title=\"entityChanges\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/entityChanges\">&nbsp;&nbsp;entityChanges</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Current representation of changes logged to the RBQRealmNotificationManager instance.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (readonly, nonatomic) NSDictionary *entityChanges</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Current representation of changes logged to the RBQRealmNotificationManager instance.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/defaultManager\" title=\"defaultManager\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/defaultManager\">+&nbsp;defaultManager</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Retrieve the singleton RBQRealmNotificationManager that passes changes from all Realm loggers</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)defaultManager</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Singleton RBQRealmNotificationManager</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Retrieve the singleton RBQRealmNotificationManager that passes changes from all Realm loggers</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/addNotificationBlock:\" title=\"addNotificationBlock:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/addNotificationBlock:\">&ndash;&nbsp;addNotificationBlock:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Use this method to add a notification block that will fire every time the Realm for this RBQNotificationManager updates. The block passes the changes from the Realm update that were logged to the RBQRealmNotificationManager.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (RBQNotificationToken *)addNotificationBlock:(RBQNotificationBlock)<em>block</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>block</code></th>\n\t\t\t\t\t\t<td><p><a href=\"../Blocks/RBQNotificationBlock.html\">RBQNotificationBlock</a> that passes a NSDictionary keyed by entity name. The object for the key is a <a href=\"../Classes/RBQEntityChangesObject.html\">RBQEntityChangesObject</a> which contains NSSets of all the various changes to the entity.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of <a href=\"../Classes/RBQNotificationToken.html\">RBQNotificationToken</a>.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Use this method to add a notification block that will fire every time the Realm for this RBQNotificationManager updates. The block passes the changes from the Realm update that were logged to the RBQRealmNotificationManager.</p><div class=\"warning\"><p><strong>Warning:</strong> You must hold onto a strong reference to the returned token or it will be deallocated, preventing any changes from propogating.</p></div>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection see-also-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">See Also</h4>\n\t\t\t\t<ul>\n\t\t\t\t\t\n\t\t\t\t\t<li><code><p><a href=\"../Classes/RBQEntityChangesObject.html\">RBQEntityChangesObject</a></p></code></li>\n\t\t\t\t\t\n\t\t\t\t\t<li><code><p><a href=\"../Blocks/RBQNotificationBlock.html\">RBQNotificationBlock</a></p></code></li>\n\t\t\t\t\t\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/removeNotification:\" title=\"removeNotification:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/removeNotification:\">&ndash;&nbsp;removeNotification:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>De-register a notification given a <a href=\"../Classes/RBQNotificationToken.html\">RBQNotificationToken</a>.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)removeNotification:(RBQNotificationToken *)<em>token</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>token</code></th>\n\t\t\t\t\t\t<td><p>The <a href=\"../Classes/RBQNotificationToken.html\">RBQNotificationToken</a> to be de-registered.</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>De-register a notification given a <a href=\"../Classes/RBQNotificationToken.html\">RBQNotificationToken</a>.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQRealmNotificationManager.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Classes/RBQSafeRealmObject.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQSafeRealmObject Class Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\t<optgroup label=\"Properties\">\n\t\t\n\t\t<option value=\"//api/name/className\">className</option>\n\t\t\n\t\t<option value=\"//api/name/primaryKeyType\">primaryKeyType</option>\n\t\t\n\t\t<option value=\"//api/name/primaryKeyValue\">primaryKeyValue</option>\n\t\t\n\t\t<option value=\"//api/name/realm\">realm</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Class Methods\">\n\t\t\n\t\t<option value=\"//api/name/objectInRealm:fromSafeObject:\">+ objectInRealm:fromSafeObject:</option>\n\t\t\n\t\t<option value=\"//api/name/objectfromSafeObject:\">+ objectfromSafeObject:</option>\n\t\t\n\t\t<option value=\"//api/name/safeObjectFromObject:\">+ safeObjectFromObject:</option>\n\t\t\n\t</optgroup>\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/RLMObject\">- RLMObject</option>\n\t\t\n\t\t<option value=\"//api/name/initWithClassName:primaryKeyValue:primaryKeyType:realm:\">- initWithClassName:primaryKeyValue:primaryKeyType:realm:</option>\n\t\t\n\t\t<option value=\"//api/name/isEqualToObject:\">- isEqualToObject:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQSafeRealmObject Class Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Inherits from</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Conforms to</th>\n\t<td>NSCopying</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQSafeRealmObject.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>An RBQSafeRealmObject acts as a thread-safe representation of a <a href=\"#//api/name/RLMObject\">RLMObject</a>.</p><div class=\"warning\"><p><strong>Warning:</strong> RBQSafeRealmObjects can only be created from RLMObjects that contain a primary key.\nAttempting to create a RBQSafeRealmObject without a primary key will result in an exception.</p></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/className\" title=\"className\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/className\">&nbsp;&nbsp;className</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Original RLMObject&rsquo;s class name</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) NSString *className</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Original RLMObject&rsquo;s class name</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/primaryKeyValue\" title=\"primaryKeyValue\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/primaryKeyValue\">&nbsp;&nbsp;primaryKeyValue</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Original RLMObject&rsquo;s primary key value</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) id primaryKeyValue</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Original RLMObject&rsquo;s primary key value</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/primaryKeyType\" title=\"primaryKeyType\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/primaryKeyType\">&nbsp;&nbsp;primaryKeyType</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Original RLMObject&rsquo;s primary key property</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RLMPropertyType primaryKeyType</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Original RLMObject&rsquo;s primary key property</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/realm\" title=\"realm\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/realm\">&nbsp;&nbsp;realm</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The Realm in which this object is persisted</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>@property (nonatomic, readonly) RLMRealm *realm</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The Realm in which this object is persisted</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/initWithClassName:primaryKeyValue:primaryKeyType:realm:\" title=\"initWithClassName:primaryKeyValue:primaryKeyType:realm:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/initWithClassName:primaryKeyValue:primaryKeyType:realm:\">&ndash;&nbsp;initWithClassName:primaryKeyValue:primaryKeyType:realm:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Constructor method to create an instance of RBQSafeRealmObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)initWithClassName:(NSString *)<em>className</em> primaryKeyValue:(id)<em>primaryKeyValue</em> primaryKeyType:(RLMPropertyType)<em>primaryKeyType</em> realm:(RLMRealm *)<em>realm</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>className</code></th>\n\t\t\t\t\t\t<td><p>class name for the original <a href=\"#//api/name/RLMObject\">RLMObject</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>primaryKeyValue</code></th>\n\t\t\t\t\t\t<td><p>primary key value for the original <a href=\"#//api/name/RLMObject\">RLMObject</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>primaryKeyType</code></th>\n\t\t\t\t\t\t<td><p>primary key type for the original <a href=\"#//api/name/RLMObject\">RLMObject</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>Realm in which the original <a href=\"#//api/name/RLMObject\">RLMObject</a> is persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>A new instance of RBQSafeRealmObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Constructor method to create an instance of RBQSafeRealmObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/safeObjectFromObject:\" title=\"safeObjectFromObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/safeObjectFromObject:\">+&nbsp;safeObjectFromObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a RBQSafeObject from a <a href=\"#//api/name/RLMObject\">RLMObject</a></p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (instancetype)safeObjectFromObject:(RLMObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>The <a href=\"#//api/name/RLMObject\">RLMObject</a> to transform into RBQSafeObject</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RBQSafeObject which is a thread-safe</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a RBQSafeObject from a <a href=\"#//api/name/RLMObject\">RLMObject</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/objectfromSafeObject:\" title=\"objectfromSafeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/objectfromSafeObject:\">+&nbsp;objectfromSafeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a <a href=\"#//api/name/RLMObject\">RLMObject</a> from a RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (id)objectfromSafeObject:(RBQSafeRealmObject *)<em>safeObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>safeObject</code></th>\n\t\t\t\t\t\t<td><p>RBQSafeRealmObject instance</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p><a href=\"#//api/name/RLMObject\">RLMObject</a> (not thread-safe)</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a <a href=\"#//api/name/RLMObject\">RLMObject</a> from a RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/objectInRealm:fromSafeObject:\" title=\"objectInRealm:fromSafeObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/objectInRealm:fromSafeObject:\">+&nbsp;objectInRealm:fromSafeObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Create a <a href=\"#//api/name/RLMObject\">RLMObject</a> in a specific Realm from a RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>+ (id)objectInRealm:(RLMRealm *)<em>realm</em> fromSafeObject:(RBQSafeRealmObject *)<em>safeObject</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>realm</code></th>\n\t\t\t\t\t\t<td><p>Realm in which the returned <a href=\"#//api/name/RLMObject\">RLMObject</a> is persisted</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>safeObject</code></th>\n\t\t\t\t\t\t<td><p>RBQSafeRealm object to convert into <a href=\"#//api/name/RLMObject\">RLMObject</a></p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>Converted <a href=\"#//api/name/RLMObject\">RLMObject</a></p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Create a <a href=\"#//api/name/RLMObject\">RLMObject</a> in a specific Realm from a RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/RLMObject\" title=\"RLMObject\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/RLMObject\">&ndash;&nbsp;RLMObject</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Quickly convert a RBQSafeRealm object into its RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (id)RLMObject</code></div>\n\n\t\t    \n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Quickly convert a RBQSafeRealm object into its RLMObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/isEqualToObject:\" title=\"isEqualToObject:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/isEqualToObject:\">&ndash;&nbsp;isEqualToObject:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Equality test for RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (BOOL)isEqualToObject:(RBQSafeRealmObject *)<em>object</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>object</code></th>\n\t\t\t\t\t\t<td><p>RBQSafeRealmObject to compare</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection return\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Return Value</h4>\n\t\t\t\t<p>YES if both objects contain the same primary key</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Equality test for RBQSafeObject</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQSafeRealmObject.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/Protocols/RBQFetchedResultsControllerDelegate.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchedResultsControllerDelegate Protocol Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"../index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"../index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"../index.html\">Index</a></li>\n<li><a href=\"../hierarchy.html\">Hierarchy</a></li>\n\n\t\t\t\t\t<li id=\"on-this-page\" role=\"navigation\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\tOn This Page\n\n\t\t\t\t\t\t\t<div class=\"chevron\">\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"chevy chevron-right\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<select id=\"jump-to\">\n\t<option value=\"top\">Jump To&#133;</option>\n\t\n\t<option value=\"overview\">Overview</option>\n\t\n\n\t\n\t\n\t<option value=\"tasks\">Tasks</option>\n\t\n\t\n\n\t\n\t\n\n\t\n\n\t\n\t<optgroup label=\"Instance Methods\">\n\t\t\n\t\t<option value=\"//api/name/controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:\">- controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:</option>\n\t\t\n\t\t<option value=\"//api/name/controller:didChangeSection:atIndex:forChangeType:\">- controller:didChangeSection:atIndex:forChangeType:</option>\n\t\t\n\t\t<option value=\"//api/name/controllerDidChangeContent:\">- controllerDidChangeContent:</option>\n\t\t\n\t\t<option value=\"//api/name/controllerWillChangeContent:\">- controllerWillChangeContent:</option>\n\t\t\n\t</optgroup>\n\t\n\t\n</select>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview_contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchedResultsControllerDelegate Protocol Reference</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-specification\"><table cellspacing=\"0\"><tbody>\n\t\t\t\t\t\t<tr>\n\t<th>Conforms to</th>\n\t<td>NSObject</td>\n</tr><tr>\n\t<th>Declared in</th>\n\t<td>RBQFetchedResultsController.h</td>\n</tr>\n\t\t\t\t\t\t</tbody></table></div>\n\t\t\t\t\t\n\n                    \n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-overview\">\n\t\t\t\t\t\t<a title=\"Overview\" name=\"overview\"></a>\n\t\t\t\t\t\t<h2 class=\"subtitle subtitle-overview\">Overview</h2>\n\t\t\t\t\t\t<p>Delegate to pass along the changes identified by the <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a>.</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"section section-tasks\">\n\t\t\t\t\t\t<a title=\"Tasks\" name=\"tasks\"></a>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t<div class=\"task-list\">\n\t\t\t\t\t\t\t<div class=\"section-method\">\n\t<a name=\"//api/name/controllerWillChangeContent:\" title=\"controllerWillChangeContent:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/controllerWillChangeContent:\">&ndash;&nbsp;controllerWillChangeContent:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Indicates that the controller has started identifying changes.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)controllerWillChangeContent:(RBQFetchedResultsController *)<em>controller</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>controller</code></th>\n\t\t\t\t\t\t<td><p>controller instance that noticed the change on its fetched objects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Indicates that the controller has started identifying changes.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:\" title=\"controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:\">&ndash;&nbsp;controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>Notifies the delegate that a fetched object has been changed due to an add, remove, move, or update. Enables <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a> change tracking.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)controller:(RBQFetchedResultsController *)<em>controller</em> didChangeObject:(RBQSafeRealmObject *)<em>anObject</em> atIndexPath:(NSIndexPath *)<em>indexPath</em> forChangeType:(NSFetchedResultsChangeType)<em>type</em> newIndexPath:(NSIndexPath *)<em>newIndexPath</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>controller</code></th>\n\t\t\t\t\t\t<td><p>controller instance that noticed the change on its fetched objects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>anObject</code></th>\n\t\t\t\t\t\t<td><p>changed object represented as a <a href=\"../Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a> for thread safety</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>indexPath</code></th>\n\t\t\t\t\t\t<td><p>indexPath of changed object (nil for inserts)</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>type</code></th>\n\t\t\t\t\t\t<td><p>indicates if the change was an insert, delete, move, or update</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>newIndexPath</code></th>\n\t\t\t\t\t\t<td><p>the destination path for inserted or moved objects, nil otherwise</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>Notifies the delegate that a fetched object has been changed due to an add, remove, move, or update. Enables <a href=\"../Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a> change tracking.</p>\n\n<p>Changes are reported with the following heuristics:</p>\n\n<p>On add and remove operations, only the added/removed object is reported. It’s assumed that all objects that come after the affected object are also moved, but these moves are not reported.</p>\n\n<p>A move is reported when the changed attribute on the object is one of the sort descriptors used in the fetch request. An update of the object is assumed in this case, but no separate update message is sent to the delegate.</p>\n\n<p>An update is reported when an object’s state changes, but the changed attributes aren’t part of the sort keys.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/controller:didChangeSection:atIndex:forChangeType:\" title=\"controller:didChangeSection:atIndex:forChangeType:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/controller:didChangeSection:atIndex:forChangeType:\">&ndash;&nbsp;controller:didChangeSection:atIndex:forChangeType:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>The fetched results controller reports changes to its section before changes to the fetched result objects.</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)controller:(RBQFetchedResultsController *)<em>controller</em> didChangeSection:(RBQFetchedResultsSectionInfo *)<em>section</em> atIndex:(NSUInteger)<em>sectionIndex</em> forChangeType:(NSFetchedResultsChangeType)<em>type</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>controller</code></th>\n\t\t\t\t\t\t<td><p>controller controller instance that noticed the change on its fetched objects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>section</code></th>\n\t\t\t\t\t\t<td><p>changed section represented as a <a href=\"../Classes/RBQFetchedResultsSectionInfo.html\">RBQFetchedResultsSectionInfo</a> object</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>sectionIndex</code></th>\n\t\t\t\t\t\t<td><p>the section index of the changed section</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>type</code></th>\n\t\t\t\t\t\t<td><p>indicates if the change was an insert or delete</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>The fetched results controller reports changes to its section before changes to the fetched result objects.</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div><div class=\"section-method\">\n\t<a name=\"//api/name/controllerDidChangeContent:\" title=\"controllerDidChangeContent:\"></a>\n\t<h3 class=\"method-title\"><code><a href=\"#//api/name/controllerDidChangeContent:\">&ndash;&nbsp;controllerDidChangeContent:</a></code>\n</h3>\n\n\t<div class=\"method-info\">\n\t\t<div class=\"pointy-thing\"></div>\n\n\t\t<div class=\"method-info-container\">\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"method-subsection brief-description\">\n\t\t\t\t<p>This method is called at the end of processing changes by the controller</p>\n\t\t\t</div>\n\t\t\t\n\t\t    \n\n\t\t\t<div class=\"method-subsection method-declaration\"><code>- (void)controllerDidChangeContent:(RBQFetchedResultsController *)<em>controller</em></code></div>\n\n\t\t    \n\t\t\t\n\t\t\t<div class=\"method-subsection arguments-section parameters\">\n\t\t\t\t<h4 class=\"method-subtitle parameter-title\">Parameters</h4>\n\t\t\t\t<table class=\"argument-def parameter-def\">\n\t\t\t\t\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th scope=\"row\" class=\"argument-name\"><code>controller</code></th>\n\t\t\t\t\t\t<td><p>controller instance that noticed the change on its fetched objects</p></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection discussion-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Discussion</h4>\n\t\t\t\t<p>This method is called at the end of processing changes by the controller</p>\n\t\t\t</div>\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t<div class=\"method-subsection declared-in-section\">\n\t\t\t\t<h4 class=\"method-subtitle\">Declared In</h4>\n\t\t\t\t<p><code class=\"declared-in-ref\">RBQFetchedResultsController.h</code></p>\n\t\t\t</div>\n\t\t\t\n\t\t\t\n\t\t</div>\n\t</div>\n</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\n\n                    \n\t\t\t\t</main>\n\n\t\t\t\t<footer>\n\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"../js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/css/scss/_index.scss",
    "content": ".index-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\n\t@media (max-width: $mobile-max-width) {\n\t\tflex-direction: column;\n\t}\n\n\t.index-column {\n\t\tflex: 1 1 33%;\n\t}\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/_layout.scss",
    "content": "* {\n\tbox-sizing: border-box;\n}\n\n.clear {\n\tclear: both;\n}\n\n.clearfix {\n\t&:before, &:after {\n\t\tclear: both;\n\t\tdisplay: table;\n\t\tcontent: \"\";\n\t}\n}\n\n.xcode .hide-in-xcode {\n\tdisplay: none;\n}\n\nbody {\n\tfont: 62.5% $body-font;\n\tbackground: $body-background;\n}\n\nh1, h2, h3 {\n\tfont-weight: 300;\n\tcolor: #808080;\n}\n\nh1 {\n\tfont-size: 2em;\n\tcolor: #000;\n}\n\nh4 {\n\tfont-size: 13px;\n\tline-height: 1.5;\n\tmargin: 21px 0 0 0;\n}\n\na {\n\tcolor: $tint-color;\n\ttext-decoration: none;\n}\n\npre, code {\n\tfont-family: $code-font;\n\tword-wrap: break-word;\n}\n\npre > code, .method-declaration code {\n\tdisplay: inline-block;\n\tfont-size: .85em;\n\tpadding: 4px 0 4px 10px;\n\tborder-left: 5px solid rgba(0, 155, 51, .2);\n\n\t&:before {\n\t\tcontent: \"Objective-C\";\n\t\tdisplay: block;\n\n\t\tfont: 9px/1 $body-font;\n\t\tcolor: #009b33;\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: 2px;\n\t\tpadding-bottom: 6px;\n\t}\n}\n\npre > code {\n\tfont-size: inherit;\n}\n\ntable, th, td {\n\tborder: 1px solid #e9e9e9;\n}\n\ntable {\n\twidth: 100%;\n}\n\nth, td {\n\tpadding: 7px;\n\n\t> :first-child {\n\t\tmargin-top: 0;\n\t}\n\n\t> :last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.container {\n\t@extend .clearfix;\n\n\tmax-width: 980px;\n\tpadding: 0 10px;\n\tmargin: 0 auto;\n\n\t@media (max-width: $mobile-max-width) {\n\t\tpadding: 0;\n\t}\n}\n\nheader {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\tz-index: 2;\n\n\tbackground: #414141;\n\tcolor: #fff;\n\tfont-size: 1.1em;\n\tline-height: 25px;\n\tletter-spacing: .05em;\n\n\t#library-title {\n\t\tfloat: left;\n\t}\n\n\t#developer-home {\n\t\tfloat: right;\n\t}\n\n\th1 {\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tmargin: 0;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\th1, a {\n\t\tcolor: inherit;\n\t}\n\n\t@media (max-width: $mobile-max-width) {\n\t\tposition: absolute;\n\n\t\t.container {\n\t\t\tpadding: 0 10px;\n\t\t}\n\t}\n}\n\naside {\n\tposition: fixed;\n\ttop: 25px;\n\tleft: 0;\n\twidth: 100%;\n\theight: 25px;\n\tz-index: 2;\n\n\tfont-size: 1.1em;\n\n\t@media (max-width: $mobile-max-width) {\n\t\tposition: absolute;\n\t}\n\n\t#header-buttons {\n\t\tbackground: rgba(255, 255, 255, .8);\n\t\tmargin: 0 1px;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t\ttext-align: right;\n\t\tline-height: 32px;\n\n\t\tli {\n\t\t\tdisplay: inline-block;\n\t\t\tcursor: pointer;\n\t\t\tpadding: 0 10px;\n\t\t}\n\n\t\tlabel, select {\n\t\t\tcursor: inherit;\n\t\t}\n\n\t\t#on-this-page {\n\t\t\tposition: relative;\n\n\t\t\t.chevron {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\twidth: 14px;\n\t\t\t\theight: 4px;\n\t\t\t\tposition: relative;\n\n\t\t\t\t.chevy {\n\t\t\t\t\tbackground: #878787;\n\t\t\t\t\theight: 2px;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\twidth: 10px;\n\n\t\t\t\t\t&.chevron-left {\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\ttransform: rotateZ(45deg) scale(0.6);\n\t\t\t\t\t}\n\n\t\t\t\t\t&.chevron-right {\n\t\t\t\t\t\tright: 0;\n\t\t\t\t\t\ttransform: rotateZ(-45deg) scale(0.6);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#jump-to {\n\t\t\t\topacity: 0;\n\t\t\t\tfont-size: 16px;\n\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 5px;\n\t\t\t\tleft: 0;\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n\narticle {\n\tmargin-top: 25px;\n\n\t#content {\n\t\t@extend .clearfix;\n\n\t\tbackground: $content-background;\n\t\tborder: 1px solid $content-border;\n\t\tpadding: 15px 25px 30px 25px;\n\n\t\tfont-size: 1.4em;\n\t\tline-height: 1.45;\n\n\t\tposition: relative;\n\n\t\t@media (max-width: $mobile-max-width) {\n\t\t\tpadding: 15px 10px 20px 10px;\n\t\t}\n\n\t\t.navigation-top {\n\t\t\tposition: absolute;\n\t\t\ttop: 15px;\n\t\t\tright: 25px;\n\t\t}\n\n\t\t.title {\n\t\t\tmargin: 21px 0 0 0;\n\t\t\tpadding: 15px 0;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: #414141;\n\t\t\tmargin: 0 0 15px 0;\n\t\t}\n\n\t\tth, td {\n\t\t\tp:last-child {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t}\n\t\t}\n\n\t\tmain {\n\t\t\tul {\n\t\t\t\tlist-style: none;\n\t\t\t\tmargin-left: 24px;\n\t\t\t\tmargin-bottom: 12px;\n\t\t\t\tpadding: 0;\n\n\t\t\t\tli {\n\t\t\t\t\tposition: relative;\n\t\t\t\t\tpadding-left: 1.3em;\n\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tcontent: \"\\02022\";\n\n\t\t\t\t\t\tcolor: #414141;\n\t\t\t\t\t\tfont-size: 1.08em;\n\t\t\t\t\t\tline-height: 1;\n\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\tpadding-top: 2px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfooter {\n\t\t\t@extend .clearfix;\n\n\t\t\t.footer-copyright {\n\t\t\t\tmargin: 70px 25px 10px 0;\n\t\t\t}\n\n\t\t\tp {\n\t\t\t\tfont-size: .71em;\n\t\t\t\tcolor: #a0a0a0;\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/_normalize.scss",
    "content": "/* ==========================================================================\n   Normalize.scss settings\n   ========================================================================== */\n/**\n * Includes legacy browser support IE6/7\n *\n * Set to false if you want to drop support for IE6 and IE7\n */\n\n$legacy_browser_support: false !default;\n\n/* Base\n   ========================================================================== */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *  user zoom.\n * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using\n *  `em` units.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n  @if $legacy_browser_support {\n    *font-size: 100%; /* 3 */\n  }\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n  @if $legacy_browser_support {\n    *display: inline;\n    *zoom: 1;\n  }\n}\n\n/**\n * Prevents modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na {\n  &:active, &:hover {\n    outline: 0;\n  };\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n@if $legacy_browser_support {\n  blockquote {\n    margin: 1em 40px;\n  }\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n@if $legacy_browser_support {\n  h2 {\n    font-size: 1.5em;\n    margin: 0.83em 0;\n  }\n\n  h3 {\n    font-size: 1.17em;\n    margin: 1em 0;\n  }\n\n  h4 {\n    font-size: 1em;\n    margin: 1.33em 0;\n  }\n\n  h5 {\n    font-size: 0.83em;\n    margin: 1.67em 0;\n  }\n\n  h6 {\n    font-size: 0.67em;\n    margin: 2.33em 0;\n  }\n}\n\n/**\n * Addresses styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n@if $legacy_browser_support {\n\n  /**\n   * Addresses margins set differently in IE 6/7.\n   */\n\n  p,\n  pre {\n    *margin: 1em 0;\n  }\n\n  /*\n   * Addresses CSS quotes not supported in IE 6/7.\n   */\n\n  q {\n    *quotes: none;\n  }\n\n  /*\n   * Addresses `quotes` property not supported in Safari 4.\n   */\n\n  q:before,\n  q:after {\n    content: '';\n    content: none;\n  }\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n@if $legacy_browser_support {\n\n  /* ==========================================================================\n     Lists\n     ========================================================================== */\n\n  /*\n   * Addresses margins set differently in IE 6/7.\n   */\n\n  dl,\n  menu,\n  ol,\n  ul {\n    *margin: 1em 0;\n  }\n\n  dd {\n    *margin: 0 0 0 40px;\n  }\n\n  /*\n   * Addresses paddings set differently in IE 6/7.\n   */\n\n  menu,\n  ol,\n  ul {\n    *padding: 0 0 0 40px;\n  }\n\n  /*\n   * Corrects list images handled incorrectly in IE 7.\n   */\n\n  nav ul,\n  nav ol {\n    *list-style: none;\n    *list-style-image: none;\n  }\n\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * 1. Remove border when inside `a` element in IE 8/9/10.\n * 2. Improves image quality when scaled in IE 7.\n */\n\nimg {\n  border: 0;\n  @if $legacy_browser_support {\n    *-ms-interpolation-mode: bicubic; /* 2 */\n  }\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  @if $legacy_browser_support {\n    _font-family: 'courier new', monospace;\n  }\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *  Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n * 4. Improves appearance and consistency in all browsers.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n  @if $legacy_browser_support {\n    vertical-align: baseline; /* 3 */\n    *vertical-align: middle; /* 3 */\n  }\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *  and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *  `input` and others.\n * 4. Removes inner spacing in IE 7 without affecting normal text inputs.\n *  Known issue: inner spacing remains in IE 6.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n  @if $legacy_browser_support {\n    *overflow: visible;  /* 4 */\n  }\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n *  Known issue: excess padding remains in IE 6.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n  @if $legacy_browser_support {\n    *height: 13px; /* 3 */\n    *width: 13px; /* 3 */\n  }\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *  (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box; /* 2 */\n  box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n * 3. Corrects text not wrapping in Firefox 3.\n * 4. Corrects alignment displayed oddly in IE 6/7.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n  @if $legacy_browser_support {\n    white-space: normal; /* 3 */\n    *margin-left: -7px; /* 4 */\n  }\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/_object.scss",
    "content": ".section-specification {\n\ttable {\n\t\twidth: auto;\n\n\t\tth {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n}\n\n.method-title {\n\tmargin-left: -15px;\n\tmargin-bottom: 8px;\n\ttransition: margin-left .3s ease-out;\n\n\t.section-method.hide & {\n\t\tmargin-left: 0;\n\t}\n\n\tcode {\n\t\tfont-weight: 400;\n\t\tfont-size: .85em;\n\t}\n}\n\n.method-info {\n\tbackground: $object-background;\n\tborder-bottom: 1px solid $object-border;\n\tmargin: 0 -25px;\n\tpadding: 20px 25px 0 25px;\n\ttransition: height .3s ease-out;\n\n\tposition: relative;\n\n\t.pointy-thing {\n\t\tbackground: $content-background;\n\t\theight: 10px;\n\t\tborder-bottom: 1px solid $object-border;\n\t\tmargin: -20px -25px 16px -25px;\n\n\t\t&:before {\n\t\t\tdisplay: inline-block;\n\t\t\tcontent: \"\";\n\n\t\t\tbackground: $object-background;\n\t\t\tborder: 1px solid $object-border;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-right: 0;\n\n\t\t\tposition: absolute;\n\t\t\tleft: 21px;\n\t\t\ttop: 3px;\n\t\t\twidth: 12px;\n\t\t\theight: 12px;\n\t\t\ttransform: rotate(45deg);\n\t\t}\n\t}\n\n\t.method-subsection {\n\t\tmargin-bottom: 15px;\n\n\t\t.argument-name {\n\t\t\twidth: 1px;\n\t\t\ttext-align: right;\n\n\t\t\tcode {\n\t\t\t\tcolor: #808080;\n\t\t\t\tfont-style: italic;\n\t\t\t\tfont-weight: 400;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.section-method {\n\t&.hide .method-info {\n\t\theight: 0 !important;\n\t\toverflow: hidden;\n\t\tdisplay: none;\n\t}\n\n\t&.hide.animating .method-info {\n\t\tdisplay: block;\n\t}\n\n\t&.animating .method-info {\n\t\toverflow: hidden;\n\t}\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/_print.scss",
    "content": "@media print {\n\tbody {\n\t\tbackground: #fff;\n\t\tpadding: 8px;\n\t}\n\n\theader {\n\t\tposition: static;\n\t\tbackground: #fff;\n\t\tcolor: #000;\n\t}\n\n\taside {\n\t\tdisplay: none;\n\t}\n\n\t.container {\n\t\tmax-width: none;\n\t\tpadding: 0;\n\t}\n\n\tarticle {\n\t\tmargin-top: 0;\n\n\t\t#content {\n\t\t\tborder: 0;\n\t\t\tbackground: #fff;\n\t\t\tpadding: 15px 0 0 0;\n\n\t\t\t.title {\n\t\t\t\tmargin-top: 0;\n\t\t\t\tpadding-top: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t.method-info {\n\t\t&, & .pointy-thing {\n\t\t\tbackground: #fff;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/_variables.scss",
    "content": "$body-font: -apple-system-font, \"Helvetica Neue\", Helvetica, sans-serif;\n$code-font: \"Source Code Pro\", Monaco, Menlo, Consolas, monospace;\n\n$body-background: #f2f2f2;\n$content-background: #fff;\n$content-border: #e9e9e9;\n$tint-color: #08c;\n$object-background: #f9f9f9;\n$object-border: #e9e9e9;\n\n$mobile-max-width: 650px;\n"
  },
  {
    "path": "Documentation/html/css/scss/_xcode.scss",
    "content": ".xcode {\n\theader, aside {\n\t\tdisplay: none;\n\t}\n\n\t.container {\n\t\tpadding: 0;\n\t}\n\n\tarticle {\n\t\tmargin-top: 0;\n\n\t\t#content {\n\t\t\tborder: 0;\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t.method-info {\n\t\t&, .section-method.hide & {\n\t\t\tmax-height: auto;\n\t\t\toverflow: visible;\n\n\t\t\t&.hiding {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "Documentation/html/css/scss/style.scss",
    "content": "@import \"variables\", \"normalize\", \"layout\", \"index\", \"object\", \"print\", \"xcode\";\n"
  },
  {
    "path": "Documentation/html/css/style.css",
    "content": "html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:\"\"}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,\"Helvetica Neue\",Helvetica,sans-serif;background:#f2f2f2}h1,h2,h3{font-weight:300;color:gray}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:Source Code Pro,Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,.2)}pre>code:before,.method-declaration code:before{content:\"Objective-C\";display:block;font:9px/1 -apple-system-font,\"Helvetica Neue\",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media(max-width:650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media(max-width:650px){header{position:absolute}header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;-webkit-transform:rotateZ(45deg) scale(.6);transform:rotateZ(45deg) scale(.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;-webkit-transform:rotateZ(-45deg) scale(.6);transform:rotateZ(-45deg) scale(.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;filter:alpha(opacity=0);font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px;font-size:1.4em;line-height:1.45;position:relative}@media(max-width:650px){article #content{padding:15px 10px 20px}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:\"\\02022\";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media(max-width:650px){.index-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.index-container .index-column{-webkit-box-flex:1;-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;-webkit-transition:margin-left .3s ease-out;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0;-webkit-transition:height .3s ease-out;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px}.method-info .pointy-thing:before{display:inline-block;content:\"\";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:gray;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0!important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .section-method.hide .method-info,.xcode .section-method.hide.animating .method-info,.xcode .section-method.animating .method-info{height:auto!important;overflow:visible;display:block}.xcode .section-method.hide .method-title{margin-left:-15px}\n/*# sourceMappingURL=to.css.map */"
  },
  {
    "path": "Documentation/html/css/styles.css",
    "content": "body {\n\tfont-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;\n\tfont-size: 13px;\n}\n\ncode {\n\tfont-family: Courier, Consolas, monospace;\n\tfont-size: 13px;\n\tcolor: #666;\n}\n\npre {\n\tfont-family: Courier, Consolas, monospace;\n\tfont-size: 13px;\n\tline-height: 18px;\n\ttab-interval: 0.5em;\n\tborder: 1px solid #C7CFD5;\n\tbackground-color: #F1F5F9;\n\tcolor: #666;\n\tpadding: 0.3em 1em;\n}\n\nul {\n\tlist-style-type: square;\n}\n\nli {\n\tmargin-bottom: 10px;\n}\n\na, a code {\n\ttext-decoration: none;\n\tcolor: #36C;\n}\n\na:hover, a:hover code {\n\ttext-decoration: underline;\n\tcolor: #36C;\n}\n\nh2 {\n\tborder-bottom: 1px solid #8391A8;\n\tcolor: #3C4C6C;\n\tfont-size: 187%;\n\tfont-weight: normal;\n\tmargin-top: 1.75em;\n\tpadding-bottom: 2px;\t\n}\n\ntable {\n    margin-bottom: 4em;\n    border-collapse:collapse;\n    vertical-align: middle;\n}\n\ntd {\n    border: 1px solid #9BB3CD;\n    padding: .667em;\n    font-size: 100%;\n}\n\nth {\n    border: 1px solid #9BB3CD;\n    padding: .3em .667em .3em .667em;\n    background: #93A5BB;\n    font-size: 103%;\n    font-weight: bold;\n    color: white;\n    text-align: left;\n}\n\n/* @group Common page elements */\n\n#top_header {\n\theight: 91px;\n\tleft: 0;\n\tmin-width: 598px;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\tz-index: 900;\n}\n\n#footer {\n\tclear: both;\n\tpadding-top: 20px;\n\ttext-align: center;\n}\n\n#contents, #overview_contents {\n\t-webkit-overflow-scrolling: touch;\n\tborder-top: 1px solid #2B334F;\n\tposition: absolute;\n\ttop: 91px;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tpadding-left: 2em;\n\tpadding-right: 2em;\n\tpadding-top: 1em;\n\tmin-width: 550px;\n}\n\n#contents.isShowingTOC {\n\tleft: 230px;\n\tmin-width: 320px;\n}\n\n.copyright {\n\tfont-size: 12px;\n}\n\n.generator {\n\tfont-size: 11px;\n}\n\n.main-navigation ul li {\n\tdisplay: inline;\n\tmargin-left: 15px;\n\tlist-style: none;\n}\n\n.navigation-top {\n\tclear: both;\n\tfloat: right;\n}\n\n.navigation-bottom {\n\tclear: both;\n\tfloat: right;\n\tmargin-top: 20px;\n\tmargin-bottom: -10px;\n}\n\n.open > .disclosure {\n\tbackground-image: url(\"../img/disclosure_open.png\");\n}\n\n.disclosure {\n\tbackground: url(\"../img/disclosure.png\") no-repeat scroll 0 0;\n}\n\n.disclosure, .nodisclosure {\n\tdisplay: inline-block;\n\theight: 8px;\n\tmargin-right: 5px;\n\tposition: relative;\n\twidth: 9px;\n}\n\n/* @end */\n\n/* @group Header */\n\n#top_header #library {\n\tbackground: url(\"../img/library_background.png\") repeat-x 0 0 #485E78;\n\tbackground-color: #ccc;\n\theight: 35px;\n\tfont-size: 115%;\n}\n\n#top_header #library #libraryTitle {\n\tcolor: #FFFFFF;\n\tmargin-left: 15px;\n\ttext-shadow: 0 -1px 0 #485E78;\n\ttop: 8px;\n\tposition: absolute;\n}\n\n#top_header #library #developerHome {\n\tcolor: #92979E;\n\tright: 15px;\n\ttop: 8px;\n\tposition: absolute;\n}\n\n#top_header #library a:hover {\n\ttext-decoration: none;\n}\n\n#top_header #title {\n\tbackground: url(\"../img/title_background.png\") repeat-x 0 0 #8A98A9;\n\tborder-bottom: 1px solid #B6B6B6;\n\theight: 25px;\n\toverflow: hidden;\n}\n\n#top_header h1 {\n\tfont-size: 115%;\n\tfont-weight: normal;\n\tmargin: 0;\n\tpadding: 3px 0 2px;\n\ttext-align: center;\n\ttext-shadow: 0 1px 0 #D5D5D5;\n\twhite-space: nowrap;\n}\n\n#headerButtons {\n\tbackground-color: #D8D8D8;\n\tbackground-image: url(\"../img/button_bar_background.png\");\n\tborder-bottom: 1px solid #EDEDED;\n\tborder-top: 1px solid #2B334F;\n\tfont-size: 8pt;\n\theight: 28px;\n\tleft: 0;\n\tlist-style: none outside none;\n\tmargin: 0;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\tright: 0;\n\ttop: 61px;\n}\n\n#headerButtons li {\n\tbackground-repeat: no-repeat;\n\tdisplay: inline;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\tpadding: 0;\n}\n\n#toc_button button {\n\tborder-color: #ACACAC;\n\tborder-style: none solid none none;\n\tborder-width: 0 1px 0 0;\n\theight: 28px;\n\tmargin: 0;\n\tpadding-left: 30px;\n\ttext-align: left;\n\twidth: 230px;\n}\n\nli#jumpto_button {\n\tleft: 230px;\n\tmargin-left: 0;\n\tposition: absolute;\n}\n\nli#jumpto_button select {\n\theight: 22px;\n\tmargin: 5px 2px 0 10px;\n\tmax-width: 300px;\n}\n\n/* @end */\n\n/* @group Table of contents */\n\n#tocContainer.isShowingTOC {\n\tborder-right: 1px solid #ACACAC;\n\tdisplay: block;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tpadding: 0;\n}\n\n#tocContainer {\n\tbackground-color: #E4EBF7;\n\tborder-top: 1px solid #2B334F;\n\tbottom: 0;\n\tdisplay: none;\n\tleft: 0;\n\toverflow: hidden;\n\tposition: absolute;\n\ttop: 91px;\n\twidth: 229px;\n}\n\n#tocContainer > ul#toc {\n\tfont-size: 11px;\n\tmargin: 0;\n\tpadding: 12px 0 18px;\n\twidth: 209px;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n#tocContainer > ul#toc > li {\n\tmargin: 0;\n\tpadding: 0 0 7px 30px;\n\ttext-indent: -15px;\n}\n\n#tocContainer > ul#toc > li > .sectionName a {\n\tcolor: #000000;\n\tfont-weight: bold;\n}\n\n#tocContainer > ul#toc > li > .sectionName a:hover {\n\ttext-decoration: none;\n}\n\n#tocContainer > ul#toc li.children > ul {\n    display: none;\n    height: 0;\n}\n\n#tocContainer > ul#toc > li > ul {\n    margin: 0;\n    padding: 0;\n}\n\n#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {\n    margin-left: 0;\n    margin-bottom: 0;\n    padding-left: 15px;\n}\n\n#tocContainer > ul#toc > li ul {\n    list-style: none;\n    margin-right: 0;\n    padding-right: 0;\n}\n\n#tocContainer > ul#toc li.children.open > ul {\n    display: block;\n    height: auto;\n    margin-left: -15px;\n    padding-left: 0;\n}\n\n#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {\n    margin-left: 0;\n    padding-left: 15px;\n}\n\n#tocContainer li ul li {\n    margin-top: 0.583em;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n#tocContainer li ul li span.sectionName {\n    white-space: normal;\n}\n\n#tocContainer > ul#toc > li > ul > li > .sectionName a {\n    font-weight: bold;\n}\n\n#tocContainer > ul#toc > li > ul a {\n    color: #4F4F4F;\n}\n\n/* @end */\n\n/* @group Index formatting */\n\n.index-title {\n\tfont-size: 13px;\n\tfont-weight: normal;\n}\n\n.index-column {\n\tfloat: left;\n\twidth: 30%;\n\tmin-width: 200px;\n\tfont-size: 11px;\n}\n\n.index-column ul {\n\tmargin: 8px 0 0 0;\n\tpadding: 0;\n\tlist-style: none;\n}\n\n.index-column ul li {\n\tmargin: 0 0 3px 0;\n\tpadding: 0;\n}\n\n.hierarchy-column {\n\tmin-width: 400px;\n}\n\n.hierarchy-column ul {\n\tmargin: 3px 0 0 15px;\n}\n\n.hierarchy-column ul li {\n\tlist-style-type: square;\n}\n\n/* @end */\n\n/* @group Common formatting elements */\n\n.title {\n\tfont-weight: normal;\n\tfont-size: 215%;\n\tmargin-top:0;\n}\n\n.subtitle {\n\tfont-weight: normal;\n\tfont-size: 180%;\n\tcolor: #3C4C6C;\n\tborder-bottom: 1px solid #5088C5;\n}\n\n.subsubtitle {\n\tfont-weight: normal;\n\tfont-size: 145%;\n\theight: 0.7em;\n}\n\n.note {\n\tborder: 1px solid #5088C5;\n\tbackground-color: white;\n\tmargin: 1.667em 0 1.75em 0;\n\tpadding: 0 .667em .083em .750em;\n}\n\n.warning {\n\tborder: 1px solid #5088C5;\n\tbackground-color: #F0F3F7;\n\tmargin-bottom: 0.5em;\n\tpadding: 0.3em 0.8em;\n}\n\n.bug {\n\tborder: 1px solid #000;\n\tbackground-color: #ffffcc;\n\tmargin-bottom: 0.5em;\n\tpadding: 0.3em 0.8em;\n}\n\n.deprecated {\n\tcolor: #F60425;\n}\n\n/* @end */\n\n/* @group Common layout */\n\n.section {\n\tmargin-top: 3em;\n}\n\n/* @end */\n\n/* @group Object specification section */\n\n.section-specification {\n\tmargin-left: 2.5em;\n\tmargin-right: 2.5em;\n\tfont-size: 12px;\n}\n\n.section-specification table {\n    margin-bottom: 0em;\n\tborder-top: 1px solid #d6e0e5;\n}\n\n.section-specification td {\n\tvertical-align: top;\n\tborder-bottom: 1px solid #d6e0e5;\n\tborder-left-width: 0px;\n\tborder-right-width: 0px;\n\tborder-top-width: 0px;\n\tpadding: .6em;\n}\n\n.section-specification .specification-title {\n\tfont-weight: bold;\n}\n\n/* @end */\n\n/* @group Tasks section */\n\n.task-list {\n\tlist-style-type: none;\n\tpadding-left: 0px;\n}\n\n.task-list li {\n\tmargin-bottom: 3px;\n}\n\n.task-item-suffix {\n\tcolor: #996;\n\tfont-size: 12px;\n\tfont-style: italic;\n\tmargin-left: 0.5em;\n}\n\nspan.tooltip span.tooltip {\n\tfont-size: 1.0em;\n\tdisplay: none;\n\tpadding: 0.3em;\n\tborder: 1px solid #aaa;\n\tbackground-color: #fdfec8;\n\tcolor: #000;\n\ttext-align: left;\n}\n\nspan.tooltip:hover span.tooltip {\n\tdisplay: block;\n\tposition: absolute;\n\tmargin-left: 2em;\n}\n\n/* @end */\n\n/* @group Method section */\n\n.section-method {\n\tmargin-top: 2.3em;\n}\n\n.method-title {\n\tmargin-bottom: 1.5em;\n}\n\n.method-subtitle {\n\tmargin-top: 0.7em;\n\tmargin-bottom: 0.2em;\n}\n\n.method-subsection p {\n\tmargin-top: 0.4em;\n\tmargin-bottom: 0.8em;\n}\n\n.method-declaration {\n\tmargin-top:1.182em;\n\tmargin-bottom:.909em;\n}\n\n.method-declaration code {\n\tfont:14px Courier, Consolas, monospace;\n\tcolor:#000;\n}\n\n.declaration {\n\tcolor: #000;\n}\n\n.argument-def {\n\tmargin-top: 0.3em;\n\tmargin-bottom: 0.3em;\n}\n\n.argument-def dd {\n\tmargin-left: 1.25em;\n}\n\n.see-also-section ul {\n\tlist-style-type: none;\n\tpadding-left: 0px;\n\tmargin-top: 0;\n}\n\n.see-also-section li {\n\tmargin-bottom: 3px;\n}\n\n.declared-in-ref {\n\tcolor: #666;\n}\n\n#tocContainer.hideInXcode {\n\tdisplay: none;\n\tborder: 0px solid black;\n}\n\n#top_header.hideInXcode {\n\tdisplay: none;\n}\n\n#contents.hideInXcode {\n\tborder: 0px solid black;\n\ttop: 0px;\n\tleft: 0px;\n}\n\n/* @end */\n\n"
  },
  {
    "path": "Documentation/html/css/stylesPrint.css",
    "content": "\nheader {\n\tdisplay: none;\n}\n\ndiv.main-navigation, div.navigation-top {\n\tdisplay: none;\n}\n\ndiv#overview_contents, div#contents.isShowingTOC, div#contents {\n\toverflow: visible;\n\tposition: relative;\n\ttop: 0px;\n\tborder: none;\n\tleft: 0;\n}\n#tocContainer.isShowingTOC {\n\tdisplay: none;\n}\nnav {\n\tdisplay: none;\n}"
  },
  {
    "path": "Documentation/html/hierarchy.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchedResultsController Hierarchy</title>\n\n\t<link rel=\"stylesheet\" href=\"css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"index.html\">Home</a></li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview-contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchedResultsController Hierarchy</h1>\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"index-column hierarchy-column\">\n\t\t\t\t\t\t<h2 class=\"index-title\">Class Hierarchy</h2>\n\t\t\t\t\t\t\n<ul>\n\n\t<li>NSObject\n<ul>\n\n\t<li><a href=\"Classes/RBQEntityChangesObject.html\">RBQEntityChangesObject</a></li>\n\n\t<li><a href=\"Classes/RBQFetchRequest.html\">RBQFetchRequest</a></li>\n\n\t<li><a href=\"Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a></li>\n\n\t<li><a href=\"Classes/RBQFetchedResultsSectionInfo.html\">RBQFetchedResultsSectionInfo</a></li>\n\n\t<li><a href=\"Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></li>\n\n\t<li><a href=\"Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a></li>\n\n\t<li><a href=\"Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></li>\n\n</ul>\n</li>\n\n</ul>\n\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"index-column\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t<h2 class=\"index-title\">Protocol References</h2>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Protocols/RBQFetchedResultsControllerDelegate.html\">RBQFetchedResultsControllerDelegate</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\n\t                    \n\t\t\t\t\t\t\n\t\t\t\t\t\t<h2 class=\"index-title\">Category References</h2>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Categories/RLMArray+Utilities.html\">RLMArray(Utilities)</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+Notifications.html\">RLMObject(Notifications)</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+SafeObject.html\">RLMObject(SafeObject)</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+Utilities.html\">RLMObject(Utilities)</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li><a href=\"Categories/RLMRealm+Notifications.html\">RLMRealm(Notifications)</a></li>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\n\t\t\t\t\t<footer>\n\t\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</footer>\n\t\t\t\t</main>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\n\t<title>RBQFetchedResultsController Reference</title>\n\n\t<link rel=\"stylesheet\" href=\"css/style.css\">\n\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1.4\">\n\t<meta name=\"generator\" content=\"appledoc 2.2.1 (build 1333)\">\n</head>\n<body class=\"appledoc\">\n\t<header>\n\t\t<div class=\"container\" class=\"hide-in-xcode\">\n\t\t\t\n\t\t\t<h1 id=\"library-title\">\n\t\t\t\t<a href=\"index.html\">RBQFetchedResultsController </a>\n\t\t\t</h1>\n\n\t\t\t<p id=\"developer-home\">\n\t\t\t\t<a href=\"index.html\">“Roobiq”</a>\n\t\t\t</p>\n\t\t\t\n\t\t</div>\n\t</header>\n\n\t<aside>\n\t\t<div class=\"container\">\n\t\t\t<nav>\n\t\t\t\t<ul id=\"header-buttons\" role=\"toolbar\">\n\t\t\t\t\t<li><a href=\"hierarchy.html\">Hierarchy</a></li>\n\t\t\t\t</ul>\n\t\t\t</nav>\n\t\t</div>\n\t</aside>\n\n\t<article>\n\t\t<div id=\"overview-contents\" class=\"container\">\n\t\t\t<div id=\"content\">\n\t\t\t\t<main role=\"main\">\n\t\t\t\t\t<h1 class=\"title\">RBQFetchedResultsController Reference</h1>\n\n\t\t\t\t\t\n\n\t\t\t\t\t<div class=\"index-container\">\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"index-column\">\n\t\t\t\t\t\t\t<h2 class=\"index-title\">Class References</h2>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQEntityChangesObject.html\">RBQEntityChangesObject</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQFetchRequest.html\">RBQFetchRequest</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQFetchedResultsController.html\">RBQFetchedResultsController</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQFetchedResultsSectionInfo.html\">RBQFetchedResultsSectionInfo</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQRealmChangeLogger.html\">RBQRealmChangeLogger</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQRealmNotificationManager.html\">RBQRealmNotificationManager</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Classes/RBQSafeRealmObject.html\">RBQSafeRealmObject</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"index-column\">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<h2 class=\"index-title\">Protocol References</h2>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Protocols/RBQFetchedResultsControllerDelegate.html\">RBQFetchedResultsControllerDelegate</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<h2 class=\"index-title\">Category References</h2>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Categories/RLMArray+Utilities.html\">RLMArray(Utilities)</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+Notifications.html\">RLMObject(Notifications)</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+SafeObject.html\">RLMObject(SafeObject)</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Categories/RLMObject+Utilities.html\">RLMObject(Utilities)</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"Categories/RLMRealm+Notifications.html\">RLMRealm(Notifications)</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<footer>\n\t\t\t\t\t\t<div class=\"footer-copyright\">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p class=\"copyright\">Copyright &copy; 2015 “Roobiq”. All rights reserved. Updated: 2015-05-29</p>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p class=\"generator\">Generated by <a href=\"http://appledoc.gentlebytes.com\">appledoc 2.2.1 (build 1333)</a>.</p>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</footer>\n\t\t\t\t</main>\n\t\t\t</div>\n\t\t</div>\n\t</article>\n\n\t<script src=\"js/script.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "Documentation/html/js/script.js",
    "content": "function $() {\n\treturn document.querySelector.apply(document, arguments);\n}\n\nif (navigator.userAgent.indexOf(\"Xcode\") != -1) {\n\tdocument.documentElement.classList.add(\"xcode\");\n}\n\nvar jumpTo = $(\"#jump-to\");\n\nif (jumpTo) {\n\tjumpTo.addEventListener(\"change\", function(e) {\n\t\tlocation.hash = this.options[this.selectedIndex].value;\n\t});\n}\n\nfunction hashChanged() {\n\tif (/^#\\/\\/api\\//.test(location.hash)) {\n\t\tvar element = document.querySelector(\"a[name='\" + location.hash.substring(1) + \"']\");\n\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\telement = element.parentNode;\n\n\t\telement.classList.remove(\"hide\");\n\t\tfixScrollPosition(element);\n\t}\n}\n\nfunction fixScrollPosition(element) {\n\tvar scrollTop = element.offsetTop - 150;\n\tdocument.documentElement.scrollTop = scrollTop;\n\tdocument.body.scrollTop = scrollTop;\n}\n\n[].forEach.call(document.querySelectorAll(\".section-method\"), function(element) {\n\telement.classList.add(\"hide\");\n\n\telement.querySelector(\".method-title a\").addEventListener(\"click\", function(e) {\n\t\tvar info = element.querySelector(\".method-info\"),\n\t\t\tinfoContainer = element.querySelector(\".method-info-container\");\n\n\t\telement.classList.add(\"animating\");\n\t\tinfo.style.height = (infoContainer.clientHeight + 40) + \"px\";\n\t\tfixScrollPosition(element);\n\t\telement.classList.toggle(\"hide\");\n\n\t\tsetTimeout(function() {\n\t\t\telement.classList.remove(\"animating\");\n\t\t\tinfo.style.height = \"auto\";\n\t\t}, 300);\n\t});\n});\n\nwindow.addEventListener(\"hashchange\", hashChanged);\nhashChanged();\n"
  },
  {
    "path": "Examples/ObjC/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '8.0'\n\ntarget 'RBQFetchedResultsControllerExample' do\n  pod 'RealmUtilities'\n  pod 'RBQSafeRealmObject'\n\n  target 'RBQFetchedResultsControllerExampleTests' do\n    inherit! :search_paths\n  end\nend\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n\n@end\n\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    // Override point for customization after application launch.\n    return YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application {\n    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application {\n    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application {\n    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Roobiq. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFetchedResultsControllerExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6254\" systemVersion=\"14C94b\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"wNA-rd-r88\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6247\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"LHc-Aa-mfg\">\n            <objects>\n                <tableViewController id=\"qlL-Hr-7Qx\" customClass=\"ExampleTableViewController\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"K6p-E7-xMM\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"ET2-wX-RRV\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"ET2-wX-RRV\" id=\"ONh-t9-6jC\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"qlL-Hr-7Qx\" id=\"KGS-4K-OYw\"/>\n                            <outlet property=\"delegate\" destination=\"qlL-Hr-7Qx\" id=\"oo2-uo-II2\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"eUS-YT-AwS\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"Kkc-WE-5Nb\">\n                            <connections>\n                                <action selector=\"didClickDeleteButton:\" destination=\"qlL-Hr-7Qx\" id=\"eRJ-Tk-ejs\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"a5T-3y-Bic\">\n                            <connections>\n                                <action selector=\"didClickInsertButton:\" destination=\"qlL-Hr-7Qx\" id=\"Mvg-yA-Alu\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"zis-Wa-xvK\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"329\" y=\"924\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"tMG-xb-crO\">\n            <objects>\n                <navigationController id=\"wNA-rd-r88\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"aDD-WY-bdy\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"qlL-Hr-7Qx\" kind=\"relationship\" relationship=\"rootViewController\" id=\"4M8-AG-s1o\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"xa9-pS-1iQ\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-491\" y=\"924\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/ExampleTableViewController.h",
    "content": "//\n//  ExampleTableViewController.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface ExampleTableViewController : UITableViewController\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/ExampleTableViewController.m",
    "content": "//\n//  ExampleTableViewController.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"ExampleTableViewController.h\"\n\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n#import \"RLMObject+Utilities.h\"\n\nid NULL_IF_NIL(id x) {return x ? x : NSNull.null;}\n\n@interface ExampleTableViewController () <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n\n@end\n\n@implementation ExampleTableViewController\n\n- (void)viewDidLoad\n{\n    [super viewDidLoad];\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    \n    [realm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [realm addObject:object];\n    }\n    \n    [realm commitWriteTransaction];\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:realm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                                                           sectionNameKeyPath:@\"sectionName\"\n                                                                                    cacheName:@\"testCache\"];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)didReceiveMemoryWarning\n{\n    [super didReceiveMemoryWarning];\n    // Dispose of any resources that can be recreated.\n}\n\n#pragma mark - Table view data source\n\n- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView\n{\n    // Return the number of sections.\n    return [self.fetchedResultsController numberOfSections];\n}\n\n- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController numberOfRowsForSectionIndex:section];\n}\n\n- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController titleForHeaderInSection:section];\n}\n\n- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@\"customCell\" forIndexPath:indexPath];\n    \n    // Configure the cell...\n    TestObject *objectForCell = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    cell.textLabel.text = objectForCell.title;\n    \n    \n    return cell;\n}\n\n// Override to support conditional editing of the table view.\n- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    // Return NO if you do not want the specified item to be editable.\n    return YES;\n}\n\n// Override to support editing the table view.\n- (void)tableView:(UITableView *)tableView\ncommitEditingStyle:(UITableViewCellEditingStyle)editingStyle\nforRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    if (editingStyle == UITableViewCellEditingStyleDelete) {\n        // Delete the row from the data source\n        [self deleteObjectAtIndexPath:indexPath];\n    } else if (editingStyle == UITableViewCellEditingStyleInsert) {\n        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        [self insertObject];\n    }\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Beginning updates\");\n    [self.tableView beginUpdates];\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    UITableView *tableView = self.tableView;\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            if ([[tableView indexPathsForVisibleRows] containsObject:indexPath]) {\n                [tableView reloadRowsAtIndexPaths:@[indexPath]\n                                 withRowAnimation:UITableViewRowAnimationFade];\n            }\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(RBQFetchedResultsSectionInfo *)sectionInfo\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    UITableView *tableView = self.tableView;\n    \n    if (type == NSFetchedResultsChangeInsert) {\n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *insertedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView insertSections:insertedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *deletedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView deleteSections:deletedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Ending updates\");\n    NSLog(@\"Fetched %ld Items After Change\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    @try {\n        [self.tableView endUpdates];\n    }\n    @catch (NSException *ex) {\n        NSLog(@\"RBQFecthResultsTVC caught exception updating table view: %@. Falling back to reload.\", ex);\n        \n        [self.fetchedResultsController reset];\n        \n        [self.tableView reloadData];\n    }\n}\n\n#pragma mark - UIBarButton Actions\n\n- (IBAction)didClickDeleteButton:(UIBarButtonItem *)sender\n{\n    // Delete the object in the first row\n//    NSIndexPath *firstObjectIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n//    [self deleteObjectAtIndexPath:firstObjectIndexPath];\n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n        NSLog(@\"DID BEGIN DELETE\");\n        \n        // Test deleting a section (comment out above to test)\n        RLMResults *objectInFirstSection = [TestObject objectsWhere:@\"%K == %@\",@\"sectionName\",@\"First Section\"];\n        \n        RLMRealm *realm = [RLMRealm defaultRealm];\n        \n        [realm beginWriteTransaction];\n        [realm deleteObjects:objectInFirstSection];\n        [realm commitWriteTransaction];\n        \n        NSLog(@\"DID END DELETE\");\n    });\n}\n\n- (IBAction)didClickInsertButton:(UIBarButtonItem *)sender\n{\n    NSLog(@\"DID BEGIN INSERT\");\n    NSLog(@\"Fetched %ld Items Before Insert\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    [self insertObject];\n    NSLog(@\"DID END INSERT\");\n}\n\n#pragma mark - Private\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    if (!object) {\n        return;\n    }\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    [realm deleteObject:object];\n    [realm commitWriteTransaction];\n}\n\n- (void)insertObject\n{\n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n    \n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n    \n    if (object.sortIndex > 0) {\n        [realm beginWriteTransaction];\n        \n        NSInteger sortIndex = object.sortIndex - 1;\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)sortIndex];\n        \n        \n        TestObject *newObject = [TestObject objectInRealm:realm\n                                            forPrimaryKey:[NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex]];\n        \n        if (!newObject) {\n            newObject = [[TestObject alloc] init];\n            newObject.title = title;\n            newObject.sortIndex = sortIndex;\n            newObject.sectionName = @\"First Section\";\n            newObject.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n            newObject.inTable = YES;\n            \n            [realm addObject:newObject];\n        }\n        else {\n            newObject.inTable = YES;\n        }\n        \n        [realm commitWriteTransaction];\n    }\n    // Test Moves\n    else {\n        [realm beginWriteTransaction];\n        \n        NSIndexPath *indexPathFifthRow = [NSIndexPath indexPathForRow:5 inSection:0];\n        NSIndexPath *indexPathThirdRow = [NSIndexPath indexPathForRow:3 inSection:0];\n        NSIndexPath *indexPathSixthRow = [NSIndexPath indexPathForRow:6 inSection:0];\n        NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n        \n        TestObject *firstObject = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n        TestObject *thirdObject = [self.fetchedResultsController objectAtIndexPath:indexPathThirdRow];\n        TestObject *fifthObject = [self.fetchedResultsController objectAtIndexPath:indexPathFifthRow];\n        TestObject *sixthObject = [self.fetchedResultsController objectAtIndexPath:indexPathSixthRow];\n        RLMResults *ninthObject = [TestObject objectsInRealm:realm where:@\"%K == %@\",@\"title\",@\"Cell 9\"];\n        \n        fifthObject.sortIndex += 1;\n        \n        sixthObject.sortIndex -= 1;\n        \n        firstObject.inTable = NO;\n        \n        thirdObject.title = @\"Testing Move And Update\";\n        \n        if (ninthObject.firstObject) {\n            TestObject *object = ninthObject.firstObject;\n            if ([object.sectionName isEqualToString:@\"First Section\"]) {\n                object.sectionName = @\"Second Section\";\n            }\n            else {\n                object.sectionName = @\"First Section\";\n            }\n        }\n        \n         //Test an inserted section that's not first\n//        TestObject *extraObjectInSection = [TestObject testObjectWithTitle:@\"Test Section\" sortIndex:3 inTable:YES];\n//        extraObjectInSection.sectionName = @\"Middle Section\";\n//        [realm addObject:extraObjectInSection];\n//\n//        [[RBQRealmNotificationManager defaultManager] didAddObjects:@[extraObjectInSection]\n//                                                  willDeleteObjects:nil\n//                                                   didChangeObjects:@[NULL_IF_NIL(fifthObject),\n//                                                                      NULL_IF_NIL(sixthObject),\n//                                                                      NULL_IF_NIL(firstObject),\n//                                                                      NULL_IF_NIL(thirdObject)]];\n        \n        [realm commitWriteTransaction];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/TestObject.h",
    "content": "//\n//  TestObject.h\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Realm/Realm.h>\n\n@interface TestObject : RLMObject <NSCopying>\n\n@property NSString *title;\n\n@property NSInteger sortIndex;\n\n@property NSString *sectionName;\n\n@property NSString *key;\n\n@property BOOL inTable;\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<TestObject>\nRLM_ARRAY_TYPE(TestObject)\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/TestObject.m",
    "content": "//\n//  TestObject.m\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"TestObject.h\"\n\n@implementation TestObject\n\n+ (NSString *)primaryKey\n{\n    return @\"key\";\n}\n\n// Specify default values for properties\n\n//+ (NSDictionary *)defaultPropertyValues\n//{\n//    return @{};\n//}\n\n// Specify properties to ignore (Realm won't persist these)\n\n//+ (NSArray *)ignoredProperties\n//{\n//    return @[];\n//}\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable\n{\n    TestObject *object = [[TestObject alloc] init];\n    object.sortIndex = sortIndex;\n    object.title = title;\n    object.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n    object.inTable = inTable;\n    \n    return object;\n}\n\n- (id)copyWithZone:(nullable NSZone *)zone\n{\n    TestObject *object = [[TestObject allocWithZone:zone] init];\n    object.title = self.title;\n    object.sortIndex = self.sortIndex;\n    object.sectionName = self.sectionName;\n    object.key = self.key;\n    object.inTable = self.inTable;\n    \n    return object;\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample/main.m",
    "content": "//\n//  main.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t21AECE7723EDC5BE1F493DD7 /* libPods-RBQFetchedResultsControllerExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EDEDEB02FA7C4B3DDFF2E01 /* libPods-RBQFetchedResultsControllerExampleTests.a */; };\n\t\t4921A5F91B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */; };\n\t\t4921A5FF1B1A781F00CA32B7 /* RBQTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */; };\n\t\t49527C091B17F47500C115A3 /* RBQSafeRealmObjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */; };\n\t\t49527C0F1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */; };\n\t\t49DF57321B17B09900BA8DDC /* RBQFetchRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */; };\n\t\t5DBE72B3A704D041106459BA /* libPods-RBQFetchedResultsControllerExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E06FD3669B0EDC2C9E99680 /* libPods-RBQFetchedResultsControllerExample.a */; };\n\t\t660F4C0A1B19413B00492DAE /* RBQFetchRequestInMemoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */; };\n\t\t667F380B1A5B2682008E3052 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380A1A5B2682008E3052 /* main.m */; };\n\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380D1A5B2682008E3052 /* AppDelegate.m */; };\n\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 667F38121A5B2682008E3052 /* Main.storyboard */; };\n\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 667F38151A5B2682008E3052 /* Images.xcassets */; };\n\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 667F38171A5B2682008E3052 /* LaunchScreen.xib */; };\n\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F383E1A5B26C5008E3052 /* TestObject.m */; };\n\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F38421A5B27E4008E3052 /* ExampleTableViewController.m */; };\n\t\tA0519B981C56F84800307EB5 /* RBQControllerCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B6E1C56F84800307EB5 /* RBQControllerCacheObject.m */; };\n\t\tA0519B991C56F84800307EB5 /* RBQObjectCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B701C56F84800307EB5 /* RBQObjectCacheObject.m */; };\n\t\tA0519B9A1C56F84800307EB5 /* RBQSectionCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B721C56F84800307EB5 /* RBQSectionCacheObject.m */; };\n\t\tA0519B9B1C56F84800307EB5 /* RBQFetchedResultsController.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B741C56F84800307EB5 /* RBQFetchedResultsController.m */; };\n\t\tA0519B9C1C56F84800307EB5 /* RBQFetchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B761C56F84800307EB5 /* RBQFetchRequest.m */; };\n\t\tA0C5E0A91CD7CE6300CD2892 /* RBQFetchedResultsControllerDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C5E0A81CD7CE6300CD2892 /* RBQFetchedResultsControllerDelegateTests.m */; };\n\t\tA0C5E0AB1CD7CF3200CD2892 /* RBQFetchedResultsControllerWithSectionsDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C5E0AA1CD7CF3200CD2892 /* RBQFetchedResultsControllerWithSectionsDelegateTests.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t667F381F1A5B2682008E3052 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 667F37FD1A5B2682008E3052 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 667F38041A5B2682008E3052;\n\t\t\tremoteInfo = RBQFetchedResultsControllerExample;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsControllerTests.m; sourceTree = \"<group>\"; };\n\t\t4921A5FD1B1A781F00CA32B7 /* RBQTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQTestCase.h; sourceTree = \"<group>\"; };\n\t\t4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQTestCase.m; sourceTree = \"<group>\"; };\n\t\t49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQSafeRealmObjectTests.m; sourceTree = \"<group>\"; };\n\t\t49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsSectionInfoTests.m; sourceTree = \"<group>\"; };\n\t\t49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchRequestTests.m; sourceTree = \"<group>\"; };\n\t\t5E06FD3669B0EDC2C9E99680 /* libPods-RBQFetchedResultsControllerExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-RBQFetchedResultsControllerExample.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchRequestInMemoryTests.m; sourceTree = \"<group>\"; };\n\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFetchedResultsControllerExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F38091A5B2682008E3052 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t667F380A1A5B2682008E3052 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t667F38131A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t667F38151A5B2682008E3052 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\t667F38181A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFetchedResultsControllerExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F38231A5B2682008E3052 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t667F383D1A5B26C5008E3052 /* TestObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestObject.h; sourceTree = \"<group>\"; };\n\t\t667F383E1A5B26C5008E3052 /* TestObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestObject.m; sourceTree = \"<group>\"; };\n\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleTableViewController.h; sourceTree = \"<group>\"; };\n\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleTableViewController.m; sourceTree = \"<group>\"; };\n\t\t69F4B4DCBE4F173C83ACADF0 /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t7EDEDEB02FA7C4B3DDFF2E01 /* libPods-RBQFetchedResultsControllerExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-RBQFetchedResultsControllerExampleTests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA0519B6D1C56F84800307EB5 /* RBQControllerCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQControllerCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B6E1C56F84800307EB5 /* RBQControllerCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQControllerCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B6F1C56F84800307EB5 /* RBQObjectCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQObjectCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B701C56F84800307EB5 /* RBQObjectCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQObjectCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B711C56F84800307EB5 /* RBQSectionCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQSectionCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B721C56F84800307EB5 /* RBQSectionCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQSectionCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B731C56F84800307EB5 /* RBQFetchedResultsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchedResultsController.h; path = ../../RBQFetchedResultsController/Source/RBQFetchedResultsController.h; sourceTree = \"<group>\"; };\n\t\tA0519B741C56F84800307EB5 /* RBQFetchedResultsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchedResultsController.m; path = ../../RBQFetchedResultsController/Source/RBQFetchedResultsController.m; sourceTree = \"<group>\"; };\n\t\tA0519B751C56F84800307EB5 /* RBQFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchRequest.h; path = ../../RBQFetchedResultsController/Source/RBQFetchRequest.h; sourceTree = \"<group>\"; };\n\t\tA0519B761C56F84800307EB5 /* RBQFetchRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchRequest.m; path = ../../RBQFetchedResultsController/Source/RBQFetchRequest.m; sourceTree = \"<group>\"; };\n\t\tA0C5E0A81CD7CE6300CD2892 /* RBQFetchedResultsControllerDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsControllerDelegateTests.m; sourceTree = \"<group>\"; };\n\t\tA0C5E0AA1CD7CF3200CD2892 /* RBQFetchedResultsControllerWithSectionsDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsControllerWithSectionsDelegateTests.m; sourceTree = \"<group>\"; };\n\t\tAC0520B151033210B939C995 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD6701031C0C8992AEA9F7F6E /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExample.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tE0112A40CE95A7F755B7DEF2 /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExample.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t667F38021A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t5DBE72B3A704D041106459BA /* libPods-RBQFetchedResultsControllerExample.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381B1A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t21AECE7723EDC5BE1F493DD7 /* libPods-RBQFetchedResultsControllerExampleTests.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t01C541735D0E0450F5A842E4 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t5E06FD3669B0EDC2C9E99680 /* libPods-RBQFetchedResultsControllerExample.a */,\n\t\t\t\t7EDEDEB02FA7C4B3DDFF2E01 /* libPods-RBQFetchedResultsControllerExampleTests.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t148B3E50AC827E8624BB6F6E /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE0112A40CE95A7F755B7DEF2 /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */,\n\t\t\t\tD6701031C0C8992AEA9F7F6E /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */,\n\t\t\t\tAC0520B151033210B939C995 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */,\n\t\t\t\t69F4B4DCBE4F173C83ACADF0 /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F37FC1A5B2682008E3052 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F38211A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */,\n\t\t\t\t667F38061A5B2682008E3052 /* Products */,\n\t\t\t\t148B3E50AC827E8624BB6F6E /* Pods */,\n\t\t\t\t01C541735D0E0450F5A842E4 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38061A5B2682008E3052 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */,\n\t\t\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA08908ED1B8F95EB002E87DD /* RBQFetchedResultsController */,\n\t\t\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */,\n\t\t\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */,\n\t\t\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */,\n\t\t\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */,\n\t\t\t\t667F383D1A5B26C5008E3052 /* TestObject.h */,\n\t\t\t\t667F383E1A5B26C5008E3052 /* TestObject.m */,\n\t\t\t\t667F38121A5B2682008E3052 /* Main.storyboard */,\n\t\t\t\t667F38151A5B2682008E3052 /* Images.xcassets */,\n\t\t\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */,\n\t\t\t\t667F38081A5B2682008E3052 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFetchedResultsControllerExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38081A5B2682008E3052 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38091A5B2682008E3052 /* Info.plist */,\n\t\t\t\t667F380A1A5B2682008E3052 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38211A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t4921A5FD1B1A781F00CA32B7 /* RBQTestCase.h */,\n\t\t\t\t4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */,\n\t\t\t\t4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */,\n\t\t\t\tA0C5E0A81CD7CE6300CD2892 /* RBQFetchedResultsControllerDelegateTests.m */,\n\t\t\t\tA0C5E0AA1CD7CF3200CD2892 /* RBQFetchedResultsControllerWithSectionsDelegateTests.m */,\n\t\t\t\t49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */,\n\t\t\t\t660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */,\n\t\t\t\t49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */,\n\t\t\t\t49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */,\n\t\t\t\t667F38221A5B2682008E3052 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFetchedResultsControllerExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38221A5B2682008E3052 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38231A5B2682008E3052 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519B6C1C56F84800307EB5 /* CacheObjects */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519B6D1C56F84800307EB5 /* RBQControllerCacheObject.h */,\n\t\t\t\tA0519B6E1C56F84800307EB5 /* RBQControllerCacheObject.m */,\n\t\t\t\tA0519B6F1C56F84800307EB5 /* RBQObjectCacheObject.h */,\n\t\t\t\tA0519B701C56F84800307EB5 /* RBQObjectCacheObject.m */,\n\t\t\t\tA0519B711C56F84800307EB5 /* RBQSectionCacheObject.h */,\n\t\t\t\tA0519B721C56F84800307EB5 /* RBQSectionCacheObject.m */,\n\t\t\t);\n\t\t\tname = CacheObjects;\n\t\t\tpath = ../../RBQFetchedResultsController/Source/CacheObjects;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA08908ED1B8F95EB002E87DD /* RBQFetchedResultsController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519B6C1C56F84800307EB5 /* CacheObjects */,\n\t\t\t\tA0519B731C56F84800307EB5 /* RBQFetchedResultsController.h */,\n\t\t\t\tA0519B741C56F84800307EB5 /* RBQFetchedResultsController.m */,\n\t\t\t\tA0519B751C56F84800307EB5 /* RBQFetchRequest.h */,\n\t\t\t\tA0519B761C56F84800307EB5 /* RBQFetchRequest.m */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsController;\n\t\t\tpath = ../../RBQFetchedResultsController;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tC3BE296BC60761BAF93E5B11 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t667F38011A5B2682008E3052 /* Sources */,\n\t\t\t\t667F38021A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F38031A5B2682008E3052 /* Resources */,\n\t\t\t\t006F9DB7A39428843B940C44 /* [CP] Embed Pods Frameworks */,\n\t\t\t\tB0D159D5E35B99EDDF2E4D07 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExample;\n\t\t\tproductName = RBQFetchedResultsControllerExample;\n\t\t\tproductReference = 667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t99BC62BA0EED18E51B5E1107 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t667F381A1A5B2682008E3052 /* Sources */,\n\t\t\t\t667F381B1A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F381C1A5B2682008E3052 /* Resources */,\n\t\t\t\t8F020BC11844093311DC7559 /* [CP] Embed Pods Frameworks */,\n\t\t\t\tD744C46E9560A4C08EB2C418 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductName = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductReference = 667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t667F37FD1A5B2682008E3052 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = Roobiq;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t667F38041A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t};\n\t\t\t\t\t667F381D1A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tTestTargetID = 667F38041A5B2682008E3052;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 667F37FC1A5B2682008E3052;\n\t\t\tproductRefGroup = 667F38061A5B2682008E3052 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t667F38031A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */,\n\t\t\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */,\n\t\t\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381C1A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t006F9DB7A39428843B940C44 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8F020BC11844093311DC7559 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t99BC62BA0EED18E51B5E1107 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB0D159D5E35B99EDDF2E4D07 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tC3BE296BC60761BAF93E5B11 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD744C46E9560A4C08EB2C418 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t667F38011A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */,\n\t\t\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */,\n\t\t\t\tA0519B981C56F84800307EB5 /* RBQControllerCacheObject.m in Sources */,\n\t\t\t\tA0519B9C1C56F84800307EB5 /* RBQFetchRequest.m in Sources */,\n\t\t\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */,\n\t\t\t\tA0519B991C56F84800307EB5 /* RBQObjectCacheObject.m in Sources */,\n\t\t\t\t667F380B1A5B2682008E3052 /* main.m in Sources */,\n\t\t\t\tA0519B9B1C56F84800307EB5 /* RBQFetchedResultsController.m in Sources */,\n\t\t\t\tA0519B9A1C56F84800307EB5 /* RBQSectionCacheObject.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381A1A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t660F4C0A1B19413B00492DAE /* RBQFetchRequestInMemoryTests.m in Sources */,\n\t\t\t\tA0C5E0AB1CD7CF3200CD2892 /* RBQFetchedResultsControllerWithSectionsDelegateTests.m in Sources */,\n\t\t\t\tA0C5E0A91CD7CE6300CD2892 /* RBQFetchedResultsControllerDelegateTests.m in Sources */,\n\t\t\t\t49527C0F1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m in Sources */,\n\t\t\t\t49DF57321B17B09900BA8DDC /* RBQFetchRequestTests.m in Sources */,\n\t\t\t\t49527C091B17F47500C115A3 /* RBQSafeRealmObjectTests.m in Sources */,\n\t\t\t\t4921A5F91B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m in Sources */,\n\t\t\t\t4921A5FF1B1A781F00CA32B7 /* RBQTestCase.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */;\n\t\t\ttargetProxy = 667F381F1A5B2682008E3052 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t667F38121A5B2682008E3052 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38131A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38181A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t667F38261A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F38271A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F38291A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = E0112A40CE95A7F755B7DEF2 /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tHEADER_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"\\\"${PODS_ROOT}/Headers/Public\\\"\",\n\t\t\t\t\t\"\\\"${PODS_ROOT}/Headers/Public/Realm\\\"\",\n\t\t\t\t\t\"$(SRCROOT)/../../RBQFetchedResultsController/Source/RBQSafeRealmObject\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382A1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D6701031C0C8992AEA9F7F6E /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tHEADER_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"\\\"${PODS_ROOT}/Headers/Public\\\"\",\n\t\t\t\t\t\"\\\"${PODS_ROOT}/Headers/Public/Realm\\\"\",\n\t\t\t\t\t\"$(SRCROOT)/../../RBQFetchedResultsController/Source/RBQSafeRealmObject\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F382C1A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = AC0520B151033210B939C995 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382D1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 69F4B4DCBE4F173C83ACADF0 /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38261A5B2682008E3052 /* Debug */,\n\t\t\t\t667F38271A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38291A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382A1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F382C1A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382D1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 667F37FD1A5B2682008E3052 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchRequestInMemoryTests.m",
    "content": "//\n//  RBQFetchRequestInMemoryTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 5/29/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n\n#import \"RBQFetchRequest.h\"\n#import <Realm/Realm.h>\n#import \"TestObject.h\"\n\n@interface RBQFetchRequestInMemoryTests : XCTestCase\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n\n@end\n\n@implementation RBQFetchRequestInMemoryTests\n\n- (void)setUp\n{\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n    \n    // Setup the DB (use random strings to create new versions each time)\n    RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n    \n    inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n    \n    self.inMemoryRealm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    \n    [self.inMemoryRealm transactionWithBlock:^{\n        \n        [self.inMemoryRealm deleteAllObjects];\n        \n        for (int i=0; i < 10; i++) {\n            \n            TestObject *testObject = [[TestObject alloc] init];\n            \n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.sectionName = @\"sectionName\";\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                \n                testObject.inTable = YES;\n                \n            } else {\n                \n                testObject.inTable = NO;\n            }\n            \n            [self.inMemoryRealm addObject:testObject];\n        }\n    }];\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    RLMRealm *realm = self.inMemoryRealm;\n    \n    [realm transactionWithBlock:^{\n        \n        [realm deleteAllObjects];\n    }];\n}\n\n- (void)testVerifyEnityNameObjC\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    XCTAssert([fetchRequest.entityName isEqualToString:@\"TestObject\"]);\n}\n\n// TODO: testVerifyEntityNameSwift\n\n- (void)testFetchObjects\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptor];\n    \n    id<RLMCollection> results = [fetchRequest fetchObjects];\n    \n    TestObject *firstObject = results.firstObject;\n    \n    XCTAssert(results.count == 5);\n    XCTAssert([firstObject.key isEqualToString:@\"key0\"]);\n}\n\n- (void)testEvaluateObject\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = YES;\n    \n    XCTAssert([fetchRequest evaluateObject:testObject]);\n}\n\n- (void)testEvaluateObjectFailed\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = NO;\n    \n    XCTAssertFalse([fetchRequest evaluateObject:testObject]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchRequestTests.m",
    "content": "//\n//  RBQFetchRequestTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/27.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQFetchRequest.h\"\n#import <Realm/Realm.h>\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchRequestTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchRequestTests\n\n- (void)testVerifyEnityNameObjC\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    XCTAssert([fetchRequest.entityName isEqualToString:@\"TestObject\"]);\n}\n\n// TODO: testVerifyEntityNameSwift\n\n- (void)testFetchObjects\n{\n    [self insertDifferentInTableTestObject];\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    fetchRequest.sortDescriptors = @[sortDescriptor];\n    \n    id<RLMCollection> results = [fetchRequest fetchObjects];\n    \n    TestObject *firstObject = results.firstObject;\n    \n    XCTAssert(results.count == 5);\n    XCTAssert([firstObject.key isEqualToString:@\"key0\"]);\n}\n\n- (void)testEvaluateObject\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = YES;\n    \n    XCTAssert([fetchRequest evaluateObject:testObject]);\n}\n\n- (void)testEvaluateObjectFailed\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = NO;\n    \n    XCTAssertFalse([fetchRequest evaluateObject:testObject]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsControllerDelegateTests.m",
    "content": "//\n//  RBQFetchedResultsControllerDelegateTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/10/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n#import <objc/runtime.h>\n\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n\nstatic char kAssociatedObjectKey;\n\n@interface RBQFetchedResultsControllerDelegateTests : XCTestCase <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) XCTestExpectation *controllerWillChangeContentExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeObjectExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeSectionExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeContentExpectation;\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n@property (assign, nonatomic) NSUInteger count;\n\n@end\n\n@implementation RBQFetchedResultsControllerDelegateTests\n\n- (void)setUp\n{\n    [super setUp];\n    \n    // Setup the DB (use random strings to create new versions each time)\n    RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n    \n    inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n    \n    self.inMemoryRealm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    \n    // Load the DB with data\n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [self.inMemoryRealm addObject:object];\n    }\n    \n    [self.inMemoryRealm commitWriteTransaction];\n    \n    // Setup the FRC\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController =\n    [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                           sectionNameKeyPath:nil\n                                                    cacheName:nil];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    self.controllerWillChangeContentExpectation = nil;\n    self.controllerDidChangeObjectExpectation = nil;\n    self.controllerDidChangeSectionExpectation = nil;\n    self.controllerDidChangeContentExpectation = nil;\n    \n    self.fetchedResultsController = nil;\n    self.count = 0;\n}\n\n- (void)testControllerWillChangeContent\n{\n    self.controllerWillChangeContentExpectation = [self expectationWithDescription:@\"FRC Will Change Content Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeObject\n{\n    self.controllerWillChangeContentExpectation = [self expectationWithDescription:@\"FRC Will Change Content Fired\"];\n    self.controllerDidChangeObjectExpectation = [self expectationWithDescription:@\"FRC Did Change Object Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeContent\n{\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n        \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeObjects\n{\n    dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n    \n    int maxCycles = 100;\n    \n    for (int i = 1; i <= maxCycles; i++) {\n        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n        \n        TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n        \n        TestObject *copiedObject = [object copy];\n        \n        XCTestExpectation *deleteExpectation = [self expectationWithDescription:@\"\"];\n        \n        objc_setAssociatedObject(self.fetchedResultsController, &kAssociatedObjectKey, deleteExpectation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n        \n        [self.inMemoryRealm transactionWithBlock:^{\n            [self.inMemoryRealm deleteObject:object];\n        }];\n        \n        [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n            \n            XCTAssertNil(error, @\"%@\", error.localizedDescription);\n        }];\n        \n        XCTestExpectation *insertExpectation = [self expectationWithDescription:@\"\"];\n        \n        objc_setAssociatedObject(self.fetchedResultsController, &kAssociatedObjectKey, insertExpectation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n        \n        [self.inMemoryRealm transactionWithBlock:^{\n            [self.inMemoryRealm addObject:copiedObject];\n        }];\n        \n        [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n            \n            XCTAssertNil(error, @\"%@\", error.localizedDescription);\n        }];\n        \n        if (i == maxCycles - 1) {\n            dispatch_semaphore_signal(sem);\n        }\n    }\n    \n    dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);\n}\n\n#pragma - Actions\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteObject:object];\n    \n    [self.inMemoryRealm commitWriteTransaction];\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerWillChangeContentExpectation) {\n        \n        [self.controllerWillChangeContentExpectation fulfill];\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            break;\n    }\n    \n    XCTestExpectation *associatedExpectation = objc_getAssociatedObject(controller, &kAssociatedObjectKey);\n    \n    // Fulfilling an expectation prematurely seems to cause problems\n    if (self.controllerDidChangeObjectExpectation &&\n        !self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeObjectExpectation fulfill];\n    }\n    else if (self.controllerDidChangeObjectExpectation &&\n             self.controllerDidChangeSectionExpectation) {\n        \n        self.count ++;\n        \n        if (self.count == 10) {\n            \n            [self.controllerDidChangeObjectExpectation fulfill];\n        }\n    }\n    else if (associatedExpectation) {\n        [associatedExpectation fulfill];\n        objc_setAssociatedObject(controller, &kAssociatedObjectKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(NSString *)sectionName\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    if (type == NSFetchedResultsChangeInsert) {\n        \n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        \n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n    }\n\n    if (self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeSectionExpectation fulfill];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerDidChangeContentExpectation) {\n        \n        [self.controllerDidChangeContentExpectation fulfill];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsControllerTests.m",
    "content": "//\n//  RBQFetchedResultsControllerTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/29.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import <UIKit/UIKit.h>\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchedResultsControllerTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchedResultsControllerTests\n\n- (void)testPerformFetch\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    XCTAssert([fetchedResultsController numberOfSections] == 2);\n    XCTAssert([fetchedResultsController.sectionNameKeyPath isEqualToString:@\"sectionName\"]);\n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n}\n\n- (void)testPeformFetchWithoutSortDescriptor\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    XCTAssert([fetchedResultsController numberOfSections] == 10);\n    XCTAssert([fetchedResultsController.sectionNameKeyPath isEqualToString:@\"sectionName\"]);\n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n}\n\n- (void)testDeleteWithCacheName\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    TestObject *testObject = [fetchedResultsController objectAtIndexPath:indexPath];\n    \n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    XCTAssert([testObject.sectionName isEqualToString:@\"section 1\"]);\n    XCTAssert(testObject.sortIndex == 0);\n    \n    [RBQFetchedResultsController deleteCacheWithName:@\"cache\"];\n    \n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    XCTAssertNil([fetchedResultsController objectAtIndexPath:indexPath]);\n}\n\n// TODO: - deleteWithCacheName pass nil\n\n- (void)testUpdateFetchRequestSectionNameKeyPathAndPeformFetch\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    NSPredicate *anotherPredicate = [NSPredicate predicateWithFormat:@\"inTable = NO\"];\n    RBQFetchRequest *anotherFetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate: anotherPredicate];\n    [fetchedResultsController updateFetchRequest:anotherFetchRequest sectionNameKeyPath:@\"sectionName\" andPerformFetch:YES];\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 0);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsControllerWithSectionsDelegateTests.m",
    "content": "//\n//  RBQFetchedResultsControllerWithSectionsDelegateTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/10/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n#import <objc/runtime.h>\n\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n\nstatic char kAssociatedObjectKey;\n\n@interface RBQFetchedResultsControllerWithSectionsDelegateTests : XCTestCase <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) XCTestExpectation *controllerWillChangeContentExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeObjectExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeSectionExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeContentExpectation;\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n@property (assign, nonatomic) NSUInteger count;\n\n@end\n\n@implementation RBQFetchedResultsControllerWithSectionsDelegateTests\n\n- (void)setUp\n{\n    [super setUp];\n    \n    // Setup the DB (use random strings to create new versions each time)\n    RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n    \n    inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n    \n    self.inMemoryRealm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    \n    // Load the DB with data\n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [self.inMemoryRealm addObject:object];\n    }\n    \n    [self.inMemoryRealm commitWriteTransaction];\n    \n    // Setup the FRC\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController =\n    [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                           sectionNameKeyPath:@\"sectionName\"\n                                                    cacheName:nil];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    self.controllerWillChangeContentExpectation = nil;\n    self.controllerDidChangeObjectExpectation = nil;\n    self.controllerDidChangeSectionExpectation = nil;\n    self.controllerDidChangeContentExpectation = nil;\n    \n    self.fetchedResultsController = nil;\n    self.count = 0;\n}\n\n- (void)testControllerWillChangeContent\n{\n    self.controllerWillChangeContentExpectation = [self expectationWithDescription:@\"FRC Will Change Content Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeObject\n{\n    self.controllerDidChangeObjectExpectation = [self expectationWithDescription:@\"FRC Did Change Object Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeSection\n{\n    self.controllerDidChangeObjectExpectation = [self expectationWithDescription:@\"FRC Did Change Object Fired\"];\n    self.controllerDidChangeSectionExpectation = [self expectationWithDescription:@\"FRC Did Change Section Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    // Test deleting a section\n    RLMResults *objectInFirstSection = [TestObject objectsInRealm:self.inMemoryRealm\n                                                            where:@\"%K == %@\",@\"sectionName\",@\"First Section\"];\n    \n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteObjects:objectInFirstSection];\n    \n    [self.inMemoryRealm commitWriteTransaction];\n        \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeContent\n{\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n        \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeObjects\n{\n    dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n    \n    int maxCycles = 100;\n    \n    for (int i = 1; i <= maxCycles; i++) {\n        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n        \n        TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n        \n        TestObject *copiedObject = [object copy];\n        \n        XCTestExpectation *deleteExpectation = [self expectationWithDescription:@\"\"];\n        \n        objc_setAssociatedObject(self.fetchedResultsController, &kAssociatedObjectKey, deleteExpectation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n        \n        [self.inMemoryRealm transactionWithBlock:^{\n            [self.inMemoryRealm deleteObject:object];\n        }];\n        \n        [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n            \n            XCTAssertNil(error, @\"%@\", error.localizedDescription);\n        }];\n        \n        XCTestExpectation *insertExpectation = [self expectationWithDescription:@\"\"];\n        \n        objc_setAssociatedObject(self.fetchedResultsController, &kAssociatedObjectKey, insertExpectation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n        \n        [self.inMemoryRealm transactionWithBlock:^{\n            [self.inMemoryRealm addObject:copiedObject];\n        }];\n        \n        [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n            \n            XCTAssertNil(error, @\"%@\", error.localizedDescription);\n        }];\n        \n        if (i == maxCycles - 1) {\n            dispatch_semaphore_signal(sem);\n        }\n    }\n    \n    dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);\n}\n\n#pragma - Actions\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteObject:object];\n    \n    [self.inMemoryRealm commitWriteTransaction];\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerWillChangeContentExpectation) {\n        \n        [self.controllerWillChangeContentExpectation fulfill];\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            break;\n    }\n    \n    XCTestExpectation *associatedExpectation = objc_getAssociatedObject(controller, &kAssociatedObjectKey);\n    \n    // Fulfilling an expectation prematurely seems to cause problems\n    if (self.controllerDidChangeObjectExpectation &&\n        !self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeObjectExpectation fulfill];\n    }\n    else if (self.controllerDidChangeObjectExpectation &&\n             self.controllerDidChangeSectionExpectation) {\n        \n        self.count ++;\n        \n        if (self.count == 10) {\n            \n            [self.controllerDidChangeObjectExpectation fulfill];\n        }\n    }\n    else if (associatedExpectation) {\n        [associatedExpectation fulfill];\n        objc_setAssociatedObject(controller, &kAssociatedObjectKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(NSString *)sectionName\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    if (type == NSFetchedResultsChangeInsert) {\n        \n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        \n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n    }\n\n    if (self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeSectionExpectation fulfill];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerDidChangeContentExpectation) {\n        \n        [self.controllerDidChangeContentExpectation fulfill];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsSectionInfoTests.m",
    "content": "//\n//  RBQFetchedResultsSectionInfoTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/28.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchedResultsSectionInfoTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchedResultsSectionInfoTests\n\n#pragma mark - Utility \n\n- (RBQFetchedResultsSectionInfo *)createFetchedResultsSectionInfo\n{\n    SEL selector = NSSelectorFromString(@\"createSectionWithName:sectionNameKeyPath:fetchRequest:\");\n    \n    NSMethodSignature *signature = [[RBQFetchedResultsSectionInfo class] methodSignatureForSelector:selector];\n    \n    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];\n    \n    [invocation setSelector:selector];\n    [invocation setTarget:[RBQFetchedResultsSectionInfo class]];\n    \n    NSString *sectionName = @\"section 1\";\n    \n    NSString *sectionNameKeyPath = @\"sectionName\";\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    [invocation setArgument:&sectionName atIndex:2];\n    [invocation setArgument:&sectionNameKeyPath atIndex:3];\n    [invocation setArgument:&fetchRequest atIndex:4];\n    \n    [invocation invoke];\n    \n    RBQFetchedResultsSectionInfo __unsafe_unretained *sectionInfo;\n    \n    [invocation getReturnValue:&sectionInfo];\n    \n    return sectionInfo;\n}\n\n#pragma mark - Test Case\n\n- (void)testInitializeFetchedResultsSectionInfo\n{\n    RBQFetchedResultsSectionInfo *sectionInfo = [self createFetchedResultsSectionInfo];\n    \n    XCTAssertNotNil(sectionInfo);\n    XCTAssert([sectionInfo isKindOfClass:[RBQFetchedResultsSectionInfo class]]);\n}\n\n- (void)testObjectsProperty\n{\n    [self insertDifferentSectionNameTestObject];\n    RBQFetchedResultsSectionInfo *sectionInfo = [self createFetchedResultsSectionInfo];\n    \n    id<RLMCollection> results = sectionInfo.objects;\n    \n    XCTAssert(sectionInfo.numberOfObjects == 5);\n    XCTAssert(results.count == 5);\n    \n    for (TestObject *testObject in results) {\n        \n        XCTAssert([testObject.sectionName isEqualToString:@\"section 1\"]);\n        XCTAssert(testObject.inTable == YES);\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQSafeRealmObjectTests.m",
    "content": "//\n//  RBQSafeRealmObjectTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/28.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQSafeRealmObject.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQSafeRealmObjectTests : RBQTestCase\n\n@end\n\n@implementation RBQSafeRealmObjectTests\n\n- (void)testInitializeSafeObject\n{\n    RBQSafeRealmObject *safeObject = [[RBQSafeRealmObject alloc] initWithClassName:@\"TestObject\"\n                                                                   primaryKeyValue:@\"key\"\n                                                                    primaryKeyType:RLMPropertyTypeString\n                                                                             realm:[RLMRealm defaultRealm]];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n}\n\n- (void)testSafeObjectFromObjectIfObjectIsPersisted\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n}\n\n- (void)testSafeObjectFromObjectIfObjectIsNotPersisted\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    \n    XCTAssertNil(safeObject.realmConfiguration);\n}\n\n- (void)testThreadSafe\n{\n    XCTestExpectation *anotherThreadExpectation = [self expectationWithDescription:@\"Wait the execution of antoher thread\"];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n        \n        XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n        XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n        XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n        XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n        \n        [anotherThreadExpectation fulfill];\n    });\n    \n    [self waitForExpectationsWithTimeout:5 handler:nil];\n}\n\n- (void)testRLMRealmProperty\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        [realm addObject:testObject];\n    }];\n    \n    TestObject *fetchedObject = [TestObject allObjects].firstObject;\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.RLMObject isEqualToObject:fetchedObject]);\n}\n\n- (void)testIsEqualToObject\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    TestObject *fetchedObject = [TestObject allObjects].firstObject;\n    \n    RBQSafeRealmObject *safeObject1 = [RBQSafeRealmObject safeObjectFromObject:fetchedObject];\n    RBQSafeRealmObject *safeObject2 = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject1 isEqualToObject:safeObject2]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQTestCase.h",
    "content": "//\n//  RBQTestCase.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/30.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n\n@interface RBQTestCase : XCTestCase\n\n@property (nonatomic) BOOL inMemory;\n\n- (void)insertDifferentSectionNameTestObject;\n\n- (void)insertDifferentInTableTestObject;\n\n@end\n"
  },
  {
    "path": "Examples/ObjC/RBQFetchedResultsControllerExampleTests/RBQTestCase.m",
    "content": "//\n//  RBQTestCase.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/30.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import \"RBQTestCase.h\"\n#import <Realm/RLMRealm.h>\n#import \"TestObject.h\"\n\nstatic NSString *testRealmFileName = @\"test.realm\";\n\n@interface RBQTestCase()\n\n@property (nonatomic, strong) RLMRealm *realm;\n\n@end\n\n@implementation RBQTestCase\n\n- (void)setUp\n{\n    [super setUp];\n\n    NSArray *writablePaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);\n    NSString *documentsPath = [writablePaths lastObject];\n    NSString *testRealmFile = [documentsPath stringByAppendingPathComponent:testRealmFileName];\n    \n    RLMRealmConfiguration *defaultConfig = [RLMRealmConfiguration defaultConfiguration];\n    defaultConfig.fileURL = [NSURL fileURLWithPath:testRealmFile];\n    \n    [RLMRealmConfiguration setDefaultConfiguration:defaultConfig];\n    \n    if (self.inMemory) {\n        RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n        inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n        self.realm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    }\n    else {\n        self.realm = [RLMRealm defaultRealm];\n    }\n    \n    [self.realm transactionWithBlock:^{\n        [[RLMRealm defaultRealm] deleteAllObjects];\n    }];\n}\n\n- (void)tearDown\n{\n    [super tearDown];\n    \n    [self.realm transactionWithBlock:^{\n        [[RLMRealm defaultRealm] deleteAllObjects];\n    }];\n}\n\n#pragma mark - Insert objects in Realm\n\n- (void)insertDifferentSectionNameTestObject\n{\n    [self.realm transactionWithBlock:^{\n        for (int i=0; i < 10; i++) {\n            TestObject *testObject = [[TestObject alloc] init];\n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.inTable = YES;\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                testObject.sectionName = @\"section 1\";\n            }\n            else {\n                testObject.sectionName = @\"section 2\";\n            }\n            \n            [[RLMRealm defaultRealm] addObject:testObject];\n        }\n    }];\n}\n\n- (void)insertDifferentInTableTestObject\n{\n    [self.realm transactionWithBlock:^{\n        for (int i=0; i < 10; i++) {\n            TestObject *testObject = [[TestObject alloc] init];\n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.sectionName = @\"sectionName\";\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                testObject.inTable = YES;\n            }\n            else {\n                testObject.inTable = NO;\n            }\n            \n            [[RLMRealm defaultRealm] addObject:testObject];\n        }\n    }];\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n\n@end\n\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    // Override point for customization after application launch.\n    return YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application {\n    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application {\n    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application {\n    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Roobiq. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFetchedResultsControllerExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6254\" systemVersion=\"14C94b\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"wNA-rd-r88\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6247\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"LHc-Aa-mfg\">\n            <objects>\n                <tableViewController id=\"qlL-Hr-7Qx\" customClass=\"ExampleTableViewController\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"K6p-E7-xMM\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"ET2-wX-RRV\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"ET2-wX-RRV\" id=\"ONh-t9-6jC\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"qlL-Hr-7Qx\" id=\"KGS-4K-OYw\"/>\n                            <outlet property=\"delegate\" destination=\"qlL-Hr-7Qx\" id=\"oo2-uo-II2\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"eUS-YT-AwS\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"Kkc-WE-5Nb\">\n                            <connections>\n                                <action selector=\"didClickDeleteButton:\" destination=\"qlL-Hr-7Qx\" id=\"eRJ-Tk-ejs\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"a5T-3y-Bic\">\n                            <connections>\n                                <action selector=\"didClickInsertButton:\" destination=\"qlL-Hr-7Qx\" id=\"Mvg-yA-Alu\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"zis-Wa-xvK\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"329\" y=\"924\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"tMG-xb-crO\">\n            <objects>\n                <navigationController id=\"wNA-rd-r88\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"aDD-WY-bdy\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"qlL-Hr-7Qx\" kind=\"relationship\" relationship=\"rootViewController\" id=\"4M8-AG-s1o\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"xa9-pS-1iQ\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-491\" y=\"924\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/ExampleTableViewController.h",
    "content": "//\n//  ExampleTableViewController.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface ExampleTableViewController : UITableViewController\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/ExampleTableViewController.m",
    "content": "//\n//  ExampleTableViewController.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"ExampleTableViewController.h\"\n#import \"TestObject.h\"\n\n#import <RBQFetchedResultsController/RBQFRC.h>\n#import <Realm/Realm.h>\n\nid NULL_IF_NIL(id x) {return x ? x : NSNull.null;}\n\n@interface ExampleTableViewController () <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n\n@end\n\n@implementation ExampleTableViewController\n\n- (void)viewDidLoad\n{\n    [super viewDidLoad];\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    \n    [realm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [realm addObject:object];\n    }\n    \n    [realm commitWriteTransaction];\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:realm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                                                           sectionNameKeyPath:@\"sectionName\"\n                                                                                    cacheName:@\"testCache\"];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)didReceiveMemoryWarning\n{\n    [super didReceiveMemoryWarning];\n    // Dispose of any resources that can be recreated.\n}\n\n#pragma mark - Table view data source\n\n- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView\n{\n    // Return the number of sections.\n    return [self.fetchedResultsController numberOfSections];\n}\n\n- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController numberOfRowsForSectionIndex:section];\n}\n\n- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController titleForHeaderInSection:section];\n}\n\n- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@\"customCell\" forIndexPath:indexPath];\n    \n    // Configure the cell...\n    TestObject *objectForCell = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    cell.textLabel.text = objectForCell.title;\n    \n    \n    return cell;\n}\n\n// Override to support conditional editing of the table view.\n- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    // Return NO if you do not want the specified item to be editable.\n    return YES;\n}\n\n// Override to support editing the table view.\n- (void)tableView:(UITableView *)tableView\ncommitEditingStyle:(UITableViewCellEditingStyle)editingStyle\nforRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    if (editingStyle == UITableViewCellEditingStyleDelete) {\n        // Delete the row from the data source\n        [self deleteObjectAtIndexPath:indexPath];\n    } else if (editingStyle == UITableViewCellEditingStyleInsert) {\n        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        [self insertObject];\n    }\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Beginning updates\");\n    [self.tableView beginUpdates];\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    UITableView *tableView = self.tableView;\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            if ([[tableView indexPathsForVisibleRows] containsObject:indexPath]) {\n                [tableView reloadRowsAtIndexPaths:@[indexPath]\n                                 withRowAnimation:UITableViewRowAnimationFade];\n            }\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(RBQFetchedResultsSectionInfo *)sectionInfo\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    UITableView *tableView = self.tableView;\n    \n    if (type == NSFetchedResultsChangeInsert) {\n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *insertedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView insertSections:insertedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *deletedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView deleteSections:deletedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Ending updates\");\n    NSLog(@\"Fetched %ld Items After Change\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    @try {\n        [self.tableView endUpdates];\n    }\n    @catch (NSException *ex) {\n        NSLog(@\"RBQFecthResultsTVC caught exception updating table view: %@. Falling back to reload.\", ex);\n        \n        [self.fetchedResultsController reset];\n        \n        [self.tableView reloadData];\n    }\n}\n\n#pragma mark - UIBarButton Actions\n\n- (IBAction)didClickDeleteButton:(UIBarButtonItem *)sender\n{\n    // Delete the object in the first row\n//    NSIndexPath *firstObjectIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n//    [self deleteObjectAtIndexPath:firstObjectIndexPath];\n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n        NSLog(@\"DID BEGIN DELETE\");\n        \n        // Test deleting a section (comment out above to test)\n        RLMResults *objectInFirstSection = [TestObject objectsWhere:@\"%K == %@\",@\"sectionName\",@\"First Section\"];\n        \n        RLMRealm *realm = [RLMRealm defaultRealm];\n        \n        [realm beginWriteTransaction];\n        [realm deleteObjects:objectInFirstSection];\n        [realm commitWriteTransaction];\n        \n        NSLog(@\"DID END DELETE\");\n    });\n}\n\n- (IBAction)didClickInsertButton:(UIBarButtonItem *)sender\n{\n    NSLog(@\"DID BEGIN INSERT\");\n    NSLog(@\"Fetched %ld Items Before Insert\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    [self insertObject];\n    NSLog(@\"DID END INSERT\");\n}\n\n#pragma mark - Private\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    if (!object) {\n        return;\n    }\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    \n    [realm deleteObject:object];\n    \n    [realm commitWriteTransaction];\n}\n\n- (void)insertObject\n{\n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n    \n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n    \n    if (object.sortIndex > 0) {\n        [realm beginWriteTransaction];\n        \n        NSInteger sortIndex = object.sortIndex - 1;\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)sortIndex];\n        \n        \n        TestObject *newObject = [TestObject objectInRealm:realm\n                                            forPrimaryKey:[NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex]];\n        \n        if (!newObject) {\n            newObject = [[TestObject alloc] init];\n            newObject.title = title;\n            newObject.sortIndex = sortIndex;\n            newObject.sectionName = @\"First Section\";\n            newObject.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n            newObject.inTable = YES;\n            \n            [realm addObject:newObject];\n        }\n        else {\n            newObject.inTable = YES;\n        }\n        \n        [realm commitWriteTransaction];\n    }\n    // Test Moves\n    else {\n        [realm beginWriteTransaction];\n        \n        NSIndexPath *indexPathFifthRow = [NSIndexPath indexPathForRow:5 inSection:0];\n        NSIndexPath *indexPathThirdRow = [NSIndexPath indexPathForRow:3 inSection:0];\n        NSIndexPath *indexPathSixthRow = [NSIndexPath indexPathForRow:6 inSection:0];\n        NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n        \n        TestObject *firstObject = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n        TestObject *thirdObject = [self.fetchedResultsController objectAtIndexPath:indexPathThirdRow];\n        TestObject *fifthObject = [self.fetchedResultsController objectAtIndexPath:indexPathFifthRow];\n        TestObject *sixthObject = [self.fetchedResultsController objectAtIndexPath:indexPathSixthRow];\n        RLMResults *ninthObject = [TestObject objectsInRealm:realm where:@\"%K == %@\",@\"title\",@\"Cell 9\"];\n        \n        fifthObject.sortIndex += 1;\n        \n        sixthObject.sortIndex -= 1;\n        \n        firstObject.inTable = NO;\n        \n        thirdObject.title = @\"Testing Move And Update\";\n        \n        if (ninthObject.firstObject) {\n            TestObject *object = ninthObject.firstObject;\n            if ([object.sectionName isEqualToString:@\"First Section\"]) {\n                object.sectionName = @\"Second Section\";\n            }\n            else {\n                object.sectionName = @\"First Section\";\n            }\n        }\n        \n         //Test an inserted section that's not first\n//        TestObject *extraObjectInSection = [TestObject testObjectWithTitle:@\"Test Section\" sortIndex:3 inTable:YES];\n//        extraObjectInSection.sectionName = @\"Middle Section\";\n//        [realm addObject:extraObjectInSection];\n//\n//        [[RBQRealmNotificationManager defaultManager] didAddObjects:@[extraObjectInSection]\n//                                                  willDeleteObjects:nil\n//                                                   didChangeObjects:@[NULL_IF_NIL(fifthObject),\n//                                                                      NULL_IF_NIL(sixthObject),\n//                                                                      NULL_IF_NIL(firstObject),\n//                                                                      NULL_IF_NIL(thirdObject)]];\n        \n        [realm commitWriteTransaction];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"83.5x83.5\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/TestObject.h",
    "content": "//\n//  TestObject.h\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Realm/Realm.h>\n\n@interface TestObject : RLMObject\n\n@property NSString *title;\n\n@property NSInteger sortIndex;\n\n@property NSString *sectionName;\n\n@property NSString *key;\n\n@property BOOL inTable;\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<TestObject>\nRLM_ARRAY_TYPE(TestObject)\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/TestObject.m",
    "content": "//\n//  TestObject.m\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"TestObject.h\"\n\n@implementation TestObject\n\n+ (NSString *)primaryKey\n{\n    return @\"key\";\n}\n\n// Specify default values for properties\n\n//+ (NSDictionary *)defaultPropertyValues\n//{\n//    return @{};\n//}\n\n// Specify properties to ignore (Realm won't persist these)\n\n//+ (NSArray *)ignoredProperties\n//{\n//    return @[];\n//}\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable\n{\n    TestObject *object = [[TestObject alloc] init];\n    object.sortIndex = sortIndex;\n    object.title = title;\n    object.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n    object.inTable = inTable;\n    \n    return object;\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample/main.m",
    "content": "//\n//  main.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t667F380B1A5B2682008E3052 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380A1A5B2682008E3052 /* main.m */; };\n\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380D1A5B2682008E3052 /* AppDelegate.m */; };\n\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 667F38121A5B2682008E3052 /* Main.storyboard */; };\n\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 667F38151A5B2682008E3052 /* Images.xcassets */; };\n\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 667F38171A5B2682008E3052 /* LaunchScreen.xib */; };\n\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F383E1A5B26C5008E3052 /* TestObject.m */; };\n\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F38421A5B27E4008E3052 /* ExampleTableViewController.m */; };\n\t\tA0951C3F1C87A5E5006AB5D7 /* Realm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0951C3E1C87A5E5006AB5D7 /* Realm.framework */; };\n\t\tA0951C401C87A5E5006AB5D7 /* Realm.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0951C3E1C87A5E5006AB5D7 /* Realm.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tA0BC27B01C56DA0000306449 /* RBQFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0FBECB01C56D6E3006E5109 /* RBQFetchedResultsController.framework */; };\n\t\tA0BC27B11C56DA0000306449 /* RBQFetchedResultsController.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0FBECB01C56D6E3006E5109 /* RBQFetchedResultsController.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tA0C594D31CCF0D490041A382 /* RBQFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0FBECB01C56D6E3006E5109 /* RBQFetchedResultsController.framework */; };\n\t\tF9C9CC4A1DF6BE3400A85A48 /* RBQSafeRealmObject.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC441DF6BE1500A85A48 /* RBQSafeRealmObject.framework */; };\n\t\tF9C9CC4B1DF6BE3400A85A48 /* RBQSafeRealmObject.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC441DF6BE1500A85A48 /* RBQSafeRealmObject.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC4C1DF6BE3400A85A48 /* RealmUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC451DF6BE1500A85A48 /* RealmUtilities.framework */; };\n\t\tF9C9CC4D1DF6BE3400A85A48 /* RealmUtilities.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC451DF6BE1500A85A48 /* RealmUtilities.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t667F381F1A5B2682008E3052 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 667F37FD1A5B2682008E3052 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 667F38041A5B2682008E3052;\n\t\t\tremoteInfo = RBQFetchedResultsControllerExample;\n\t\t};\n\t\tA0951C371C87A50B006AB5D7 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = A090E5A01C73B17B0046788B;\n\t\t\tremoteInfo = SwiftFetchedResultsController;\n\t\t};\n\t\tA0BC27AE1C56D9E400306449 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tA0BC27B21C56DA0000306449 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tA0FBECAF1C56D6E3006E5109 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 6361D7341C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tA0FBECB11C56D6E3006E5109 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 6361D73E1C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsControllerTests;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tA092AF9C1C56D79600FD6208 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\tF9C9CC4B1DF6BE3400A85A48 /* RBQSafeRealmObject.framework in Embed Frameworks */,\n\t\t\t\tF9C9CC4D1DF6BE3400A85A48 /* RealmUtilities.framework in Embed Frameworks */,\n\t\t\t\tA0951C401C87A5E5006AB5D7 /* Realm.framework in Embed Frameworks */,\n\t\t\t\tA0BC27B11C56DA0000306449 /* RBQFetchedResultsController.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFetchedResultsControllerExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F38091A5B2682008E3052 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t667F380A1A5B2682008E3052 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t667F38131A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t667F38151A5B2682008E3052 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\t667F38181A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFetchedResultsControllerExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F383D1A5B26C5008E3052 /* TestObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestObject.h; sourceTree = \"<group>\"; };\n\t\t667F383E1A5B26C5008E3052 /* TestObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestObject.m; sourceTree = \"<group>\"; };\n\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleTableViewController.h; sourceTree = \"<group>\"; };\n\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleTableViewController.m; sourceTree = \"<group>\"; };\n\t\tA0951C3E1C87A5E5006AB5D7 /* Realm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Realm.framework; path = ../../Carthage/Build/iOS/Realm.framework; sourceTree = \"<group>\"; };\n\t\tA0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RBQFetchedResultsController.xcodeproj; path = ../../RBQFetchedResultsController.xcodeproj; sourceTree = \"<group>\"; };\n\t\tF9C9CC441DF6BE1500A85A48 /* RBQSafeRealmObject.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RBQSafeRealmObject.framework; path = ../../Carthage/Build/iOS/RBQSafeRealmObject.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC451DF6BE1500A85A48 /* RealmUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealmUtilities.framework; path = ../../Carthage/Build/iOS/RealmUtilities.framework; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t667F38021A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF9C9CC4A1DF6BE3400A85A48 /* RBQSafeRealmObject.framework in Frameworks */,\n\t\t\t\tF9C9CC4C1DF6BE3400A85A48 /* RealmUtilities.framework in Frameworks */,\n\t\t\t\tA0951C3F1C87A5E5006AB5D7 /* Realm.framework in Frameworks */,\n\t\t\t\tA0BC27B01C56DA0000306449 /* RBQFetchedResultsController.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381B1A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0C594D31CCF0D490041A382 /* RBQFetchedResultsController.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t19B744AA72655FFA5B118084 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF9C9CC441DF6BE1500A85A48 /* RBQSafeRealmObject.framework */,\n\t\t\t\tF9C9CC451DF6BE1500A85A48 /* RealmUtilities.framework */,\n\t\t\t\tA0951C3E1C87A5E5006AB5D7 /* Realm.framework */,\n\t\t\t\tA0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F37FC1A5B2682008E3052 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F38061A5B2682008E3052 /* Products */,\n\t\t\t\t19B744AA72655FFA5B118084 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38061A5B2682008E3052 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */,\n\t\t\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */,\n\t\t\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */,\n\t\t\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */,\n\t\t\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */,\n\t\t\t\t667F383D1A5B26C5008E3052 /* TestObject.h */,\n\t\t\t\t667F383E1A5B26C5008E3052 /* TestObject.m */,\n\t\t\t\t667F38121A5B2682008E3052 /* Main.storyboard */,\n\t\t\t\t667F38151A5B2682008E3052 /* Images.xcassets */,\n\t\t\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */,\n\t\t\t\t667F38081A5B2682008E3052 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFetchedResultsControllerExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38081A5B2682008E3052 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38091A5B2682008E3052 /* Info.plist */,\n\t\t\t\t667F380A1A5B2682008E3052 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0FBECAB1C56D6E3006E5109 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0FBECB01C56D6E3006E5109 /* RBQFetchedResultsController.framework */,\n\t\t\t\tA0FBECB21C56D6E3006E5109 /* RBQFetchedResultsController.xctest */,\n\t\t\t\tA0951C381C87A50B006AB5D7 /* SwiftFetchedResultsController.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t667F38011A5B2682008E3052 /* Sources */,\n\t\t\t\t667F38021A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F38031A5B2682008E3052 /* Resources */,\n\t\t\t\tA092AF9C1C56D79600FD6208 /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA0BC27AF1C56D9E400306449 /* PBXTargetDependency */,\n\t\t\t\tA0BC27B31C56DA0000306449 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExample;\n\t\t\tproductName = RBQFetchedResultsControllerExample;\n\t\t\tproductReference = 667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t667F381A1A5B2682008E3052 /* Sources */,\n\t\t\t\t667F381B1A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F381C1A5B2682008E3052 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductName = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductReference = 667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t667F37FD1A5B2682008E3052 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = Roobiq;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t667F38041A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t};\n\t\t\t\t\t667F381D1A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tTestTargetID = 667F38041A5B2682008E3052;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 667F37FC1A5B2682008E3052;\n\t\t\tproductRefGroup = 667F38061A5B2682008E3052 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectReferences = (\n\t\t\t\t{\n\t\t\t\t\tProductGroup = A0FBECAB1C56D6E3006E5109 /* Products */;\n\t\t\t\t\tProjectRef = A0FBECAA1C56D6E3006E5109 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\t\t},\n\t\t\t);\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXReferenceProxy section */\n\t\tA0951C381C87A50B006AB5D7 /* SwiftFetchedResultsController.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = SwiftFetchedResultsController.framework;\n\t\t\tremoteRef = A0951C371C87A50B006AB5D7 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tA0FBECB01C56D6E3006E5109 /* RBQFetchedResultsController.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = RBQFetchedResultsController.framework;\n\t\t\tremoteRef = A0FBECAF1C56D6E3006E5109 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tA0FBECB21C56D6E3006E5109 /* RBQFetchedResultsController.xctest */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.cfbundle;\n\t\t\tpath = RBQFetchedResultsController.xctest;\n\t\t\tremoteRef = A0FBECB11C56D6E3006E5109 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n/* End PBXReferenceProxy section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t667F38031A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */,\n\t\t\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */,\n\t\t\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381C1A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t667F38011A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */,\n\t\t\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */,\n\t\t\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */,\n\t\t\t\t667F380B1A5B2682008E3052 /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381A1A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */;\n\t\t\ttargetProxy = 667F381F1A5B2682008E3052 /* PBXContainerItemProxy */;\n\t\t};\n\t\tA0BC27AF1C56D9E400306449 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = RBQFetchedResultsController;\n\t\t\ttargetProxy = A0BC27AE1C56D9E400306449 /* PBXContainerItemProxy */;\n\t\t};\n\t\tA0BC27B31C56DA0000306449 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = RBQFetchedResultsController;\n\t\t\ttargetProxy = A0BC27B21C56DA0000306449 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t667F38121A5B2682008E3052 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38131A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38181A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t667F38261A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F38271A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F38291A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = ../../Carthage/Build/iOS/;\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382A1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = ../../Carthage/Build/iOS/;\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F382C1A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382D1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38261A5B2682008E3052 /* Debug */,\n\t\t\t\t667F38271A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38291A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382A1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F382C1A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382D1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 667F37FD1A5B2682008E3052 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/ObjC-carthage/RBQFetchedResultsControllerExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '8.0'\n\ntarget 'RBQFetchedResultsControllerExample' do\n  pod 'RBQFetchedResultsController', path: '../../'\n\n  target 'RBQFetchedResultsControllerExampleTests' do\n    inherit! :search_paths\n  end\nend\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n\n@end\n\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    // Override point for customization after application launch.\n    return YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application {\n    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application {\n    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application {\n    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Roobiq. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFetchedResultsControllerExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6254\" systemVersion=\"14C94b\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"wNA-rd-r88\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6247\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"LHc-Aa-mfg\">\n            <objects>\n                <tableViewController id=\"qlL-Hr-7Qx\" customClass=\"ExampleTableViewController\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"K6p-E7-xMM\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"ET2-wX-RRV\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"ET2-wX-RRV\" id=\"ONh-t9-6jC\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"qlL-Hr-7Qx\" id=\"KGS-4K-OYw\"/>\n                            <outlet property=\"delegate\" destination=\"qlL-Hr-7Qx\" id=\"oo2-uo-II2\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"eUS-YT-AwS\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"Kkc-WE-5Nb\">\n                            <connections>\n                                <action selector=\"didClickDeleteButton:\" destination=\"qlL-Hr-7Qx\" id=\"eRJ-Tk-ejs\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"a5T-3y-Bic\">\n                            <connections>\n                                <action selector=\"didClickInsertButton:\" destination=\"qlL-Hr-7Qx\" id=\"Mvg-yA-Alu\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"zis-Wa-xvK\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"329\" y=\"924\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"tMG-xb-crO\">\n            <objects>\n                <navigationController id=\"wNA-rd-r88\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"aDD-WY-bdy\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"qlL-Hr-7Qx\" kind=\"relationship\" relationship=\"rootViewController\" id=\"4M8-AG-s1o\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"xa9-pS-1iQ\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-491\" y=\"924\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/ExampleTableViewController.h",
    "content": "//\n//  ExampleTableViewController.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n@import UIKit;\n\n@interface ExampleTableViewController : UITableViewController\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/ExampleTableViewController.m",
    "content": "//\n//  ExampleTableViewController.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"ExampleTableViewController.h\"\n#import \"TestObject.h\"\n\n#import <RBQFetchedResultsController/RBQFRC.h>\n\nid NULL_IF_NIL(id x) {return x ? x : NSNull.null;}\n\n@interface ExampleTableViewController () <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n\n@end\n\n@implementation ExampleTableViewController\n\n- (void)viewDidLoad\n{\n    [super viewDidLoad];\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    \n    [realm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [realm addObject:object];\n    }\n    \n    [realm commitWriteTransaction];\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:realm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                                                           sectionNameKeyPath:@\"sectionName\"\n                                                                                    cacheName:@\"testCache\"];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)didReceiveMemoryWarning\n{\n    [super didReceiveMemoryWarning];\n    // Dispose of any resources that can be recreated.\n}\n\n#pragma mark - Table view data source\n\n- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView\n{\n    // Return the number of sections.\n    return [self.fetchedResultsController numberOfSections];\n}\n\n- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController numberOfRowsForSectionIndex:section];\n}\n\n- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section\n{\n    return [self.fetchedResultsController titleForHeaderInSection:section];\n}\n\n- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@\"customCell\" forIndexPath:indexPath];\n    \n    // Configure the cell...\n    TestObject *objectForCell = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    cell.textLabel.text = objectForCell.title;\n    \n    \n    return cell;\n}\n\n// Override to support conditional editing of the table view.\n- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    // Return NO if you do not want the specified item to be editable.\n    return YES;\n}\n\n// Override to support editing the table view.\n- (void)tableView:(UITableView *)tableView\ncommitEditingStyle:(UITableViewCellEditingStyle)editingStyle\nforRowAtIndexPath:(NSIndexPath *)indexPath\n{\n    if (editingStyle == UITableViewCellEditingStyleDelete) {\n        // Delete the row from the data source\n        [self deleteObjectAtIndexPath:indexPath];\n    } else if (editingStyle == UITableViewCellEditingStyleInsert) {\n        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        [self insertObject];\n    }\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Beginning updates\");\n    [self.tableView beginUpdates];\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    UITableView *tableView = self.tableView;\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            if ([[tableView indexPathsForVisibleRows] containsObject:indexPath]) {\n                [tableView reloadRowsAtIndexPaths:@[indexPath]\n                                 withRowAnimation:UITableViewRowAnimationFade];\n            }\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]\n                             withRowAnimation:UITableViewRowAnimationFade];\n            break;\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(RBQFetchedResultsSectionInfo *)sectionInfo\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    UITableView *tableView = self.tableView;\n    \n    if (type == NSFetchedResultsChangeInsert) {\n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *insertedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView insertSections:insertedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n        NSIndexSet *deletedSection = [NSIndexSet indexSetWithIndex:sectionIndex];\n        \n        [tableView deleteSections:deletedSection withRowAnimation:UITableViewRowAnimationFade];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    NSLog(@\"Ending updates\");\n    NSLog(@\"Fetched %ld Items After Change\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    @try {\n        [self.tableView endUpdates];\n    }\n    @catch (NSException *ex) {\n        NSLog(@\"RBQFecthResultsTVC caught exception updating table view: %@. Falling back to reload.\", ex);\n        \n        [self.fetchedResultsController reset];\n        \n        [self.tableView reloadData];\n    }\n}\n\n#pragma mark - UIBarButton Actions\n\n- (IBAction)didClickDeleteButton:(UIBarButtonItem *)sender\n{\n    // Delete the object in the first row\n//    NSIndexPath *firstObjectIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n//    [self deleteObjectAtIndexPath:firstObjectIndexPath];\n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n        NSLog(@\"DID BEGIN DELETE\");\n        \n        // Test deleting a section (comment out above to test)\n        RLMResults *objectInFirstSection = [TestObject objectsWhere:@\"%K == %@\",@\"sectionName\",@\"First Section\"];\n        \n        RLMRealm *realm = [RLMRealm defaultRealm];\n        \n        [realm beginWriteTransaction];\n        [realm deleteObjects:objectInFirstSection];\n        [realm commitWriteTransaction];\n        \n        NSLog(@\"DID END DELETE\");\n    });\n}\n\n- (IBAction)didClickInsertButton:(UIBarButtonItem *)sender\n{\n    NSLog(@\"DID BEGIN INSERT\");\n    NSLog(@\"Fetched %ld Items Before Insert\", (unsigned long)self.fetchedResultsController.fetchedObjects.count);\n    [self insertObject];\n    NSLog(@\"DID END INSERT\");\n}\n\n#pragma mark - Private\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    if (!object) {\n        return;\n    }\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm beginWriteTransaction];\n    \n    [realm deleteObject:object];\n    \n    [realm commitWriteTransaction];\n}\n\n- (void)insertObject\n{\n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n    \n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n    \n    if (object.sortIndex > 0) {\n        [realm beginWriteTransaction];\n        \n        NSInteger sortIndex = object.sortIndex - 1;\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)sortIndex];\n        \n        \n        TestObject *newObject = [TestObject objectInRealm:realm\n                                            forPrimaryKey:[NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex]];\n        \n        if (!newObject) {\n            newObject = [[TestObject alloc] init];\n            newObject.title = title;\n            newObject.sortIndex = sortIndex;\n            newObject.sectionName = @\"First Section\";\n            newObject.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n            newObject.inTable = YES;\n            \n            [realm addObject:newObject];\n        }\n        else {\n            newObject.inTable = YES;\n        }\n        \n        [realm commitWriteTransaction];\n    }\n    // Test Moves\n    else {\n        [realm beginWriteTransaction];\n        \n        NSIndexPath *indexPathFifthRow = [NSIndexPath indexPathForRow:5 inSection:0];\n        NSIndexPath *indexPathThirdRow = [NSIndexPath indexPathForRow:3 inSection:0];\n        NSIndexPath *indexPathSixthRow = [NSIndexPath indexPathForRow:6 inSection:0];\n        NSIndexPath *indexPathFirstRow = [NSIndexPath indexPathForRow:0 inSection:0];\n        \n        TestObject *firstObject = [self.fetchedResultsController objectAtIndexPath:indexPathFirstRow];\n        TestObject *thirdObject = [self.fetchedResultsController objectAtIndexPath:indexPathThirdRow];\n        TestObject *fifthObject = [self.fetchedResultsController objectAtIndexPath:indexPathFifthRow];\n        TestObject *sixthObject = [self.fetchedResultsController objectAtIndexPath:indexPathSixthRow];\n        RLMResults *ninthObject = [TestObject objectsInRealm:realm where:@\"%K == %@\",@\"title\",@\"Cell 9\"];\n        \n        fifthObject.sortIndex += 1;\n        \n        sixthObject.sortIndex -= 1;\n        \n        firstObject.inTable = NO;\n        \n        thirdObject.title = @\"Testing Move And Update\";\n        \n        if (ninthObject.firstObject) {\n            TestObject *object = ninthObject.firstObject;\n            if ([object.sectionName isEqualToString:@\"First Section\"]) {\n                object.sectionName = @\"Second Section\";\n            }\n            else {\n                object.sectionName = @\"First Section\";\n            }\n        }\n        \n         //Test an inserted section that's not first\n//        TestObject *extraObjectInSection = [TestObject testObjectWithTitle:@\"Test Section\" sortIndex:3 inTable:YES];\n//        extraObjectInSection.sectionName = @\"Middle Section\";\n//        [realm addObject:extraObjectInSection];\n//\n//        [[RBQRealmNotificationManager defaultManager] didAddObjects:@[extraObjectInSection]\n//                                                  willDeleteObjects:nil\n//                                                   didChangeObjects:@[NULL_IF_NIL(fifthObject),\n//                                                                      NULL_IF_NIL(sixthObject),\n//                                                                      NULL_IF_NIL(firstObject),\n//                                                                      NULL_IF_NIL(thirdObject)]];\n        \n        [realm commitWriteTransaction];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/TestObject.h",
    "content": "//\n//  TestObject.h\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Realm/Realm.h>\n\n@interface TestObject : RLMObject\n\n@property NSString *title;\n\n@property NSInteger sortIndex;\n\n@property NSString *sectionName;\n\n@property NSString *key;\n\n@property BOOL inTable;\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<TestObject>\nRLM_ARRAY_TYPE(TestObject)\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/TestObject.m",
    "content": "//\n//  TestObject.m\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Lauren Smith on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"TestObject.h\"\n\n@implementation TestObject\n\n+ (NSString *)primaryKey\n{\n    return @\"key\";\n}\n\n// Specify default values for properties\n\n//+ (NSDictionary *)defaultPropertyValues\n//{\n//    return @{};\n//}\n\n// Specify properties to ignore (Realm won't persist these)\n\n//+ (NSArray *)ignoredProperties\n//{\n//    return @[];\n//}\n\n+ (instancetype)testObjectWithTitle:(NSString *)title\n                          sortIndex:(NSInteger)sortIndex\n                            inTable:(BOOL)inTable\n{\n    TestObject *object = [[TestObject alloc] init];\n    object.sortIndex = sortIndex;\n    object.title = title;\n    object.key = [NSString stringWithFormat:@\"%@%ld\",title, (long)sortIndex];\n    object.inTable = inTable;\n    \n    return object;\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample/main.m",
    "content": "//\n//  main.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/5/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t4921A5F91B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */; };\n\t\t4921A5FF1B1A781F00CA32B7 /* RBQTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */; };\n\t\t49527C091B17F47500C115A3 /* RBQSafeRealmObjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */; };\n\t\t49527C0F1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */; };\n\t\t49527C111B1818CF00C115A3 /* RBQEntityChangesObjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49527C101B1818CF00C115A3 /* RBQEntityChangesObjectTests.m */; };\n\t\t49DF57321B17B09900BA8DDC /* RBQFetchRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */; };\n\t\t49DF57331B17B09900BA8DDC /* RBQRealmChangeLoggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 49DF57311B17B09900BA8DDC /* RBQRealmChangeLoggerTests.m */; };\n\t\t660F4C0A1B19413B00492DAE /* RBQFetchRequestInMemoryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */; };\n\t\t662C46951A623B6200A8D145 /* RBQFetchedResultsControllerDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 662C46941A623B6200A8D145 /* RBQFetchedResultsControllerDelegateTests.m */; };\n\t\t667F380B1A5B2682008E3052 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380A1A5B2682008E3052 /* main.m */; };\n\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F380D1A5B2682008E3052 /* AppDelegate.m */; };\n\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 667F38121A5B2682008E3052 /* Main.storyboard */; };\n\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 667F38151A5B2682008E3052 /* Images.xcassets */; };\n\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 667F38171A5B2682008E3052 /* LaunchScreen.xib */; };\n\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F383E1A5B26C5008E3052 /* TestObject.m */; };\n\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 667F38421A5B27E4008E3052 /* ExampleTableViewController.m */; };\n\t\tB7C8573C3830C6731BA361C1 /* libPods-RBQFetchedResultsControllerExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7709CA864C22F985095ED7F8 /* libPods-RBQFetchedResultsControllerExampleTests.a */; };\n\t\tE1938404D3F347DA2566D140 /* libPods-RBQFetchedResultsControllerExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F2684C1DA2F8DDE9DF59603 /* libPods-RBQFetchedResultsControllerExample.a */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t667F381F1A5B2682008E3052 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 667F37FD1A5B2682008E3052 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 667F38041A5B2682008E3052;\n\t\t\tremoteInfo = RBQFetchedResultsControllerExample;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsControllerTests.m; sourceTree = \"<group>\"; };\n\t\t4921A5FD1B1A781F00CA32B7 /* RBQTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQTestCase.h; sourceTree = \"<group>\"; };\n\t\t4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQTestCase.m; sourceTree = \"<group>\"; };\n\t\t49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQSafeRealmObjectTests.m; sourceTree = \"<group>\"; };\n\t\t49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsSectionInfoTests.m; sourceTree = \"<group>\"; };\n\t\t49527C101B1818CF00C115A3 /* RBQEntityChangesObjectTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQEntityChangesObjectTests.m; sourceTree = \"<group>\"; };\n\t\t49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchRequestTests.m; sourceTree = \"<group>\"; };\n\t\t49DF57311B17B09900BA8DDC /* RBQRealmChangeLoggerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQRealmChangeLoggerTests.m; sourceTree = \"<group>\"; };\n\t\t4E25AEFAD0B0D6D0EA5FCDD3 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchRequestInMemoryTests.m; sourceTree = \"<group>\"; };\n\t\t662C46941A623B6200A8D145 /* RBQFetchedResultsControllerDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQFetchedResultsControllerDelegateTests.m; sourceTree = \"<group>\"; };\n\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFetchedResultsControllerExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F38091A5B2682008E3052 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t667F380A1A5B2682008E3052 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t667F38131A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t667F38151A5B2682008E3052 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\t667F38181A5B2682008E3052 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFetchedResultsControllerExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t667F38231A5B2682008E3052 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t667F383D1A5B26C5008E3052 /* TestObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestObject.h; sourceTree = \"<group>\"; };\n\t\t667F383E1A5B26C5008E3052 /* TestObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestObject.m; sourceTree = \"<group>\"; };\n\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleTableViewController.h; sourceTree = \"<group>\"; };\n\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExampleTableViewController.m; sourceTree = \"<group>\"; };\n\t\t6F2684C1DA2F8DDE9DF59603 /* libPods-RBQFetchedResultsControllerExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-RBQFetchedResultsControllerExample.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t7709CA864C22F985095ED7F8 /* libPods-RBQFetchedResultsControllerExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-RBQFetchedResultsControllerExampleTests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8CAE229C2AD33311A81574FC /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tC3BC6C0E1DFD67B590EF054C /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExample.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tF522D106517B0E6B45AF3A92 /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFetchedResultsControllerExample.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample.release.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t667F38021A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE1938404D3F347DA2566D140 /* libPods-RBQFetchedResultsControllerExample.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381B1A5B2682008E3052 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tB7C8573C3830C6731BA361C1 /* libPods-RBQFetchedResultsControllerExampleTests.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t667F37FC1A5B2682008E3052 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F38211A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */,\n\t\t\t\t667F38061A5B2682008E3052 /* Products */,\n\t\t\t\tF195ADCA5FE615DCF6039F48 /* Pods */,\n\t\t\t\tE8F471E218FD6EB79AAD66CB /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38061A5B2682008E3052 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */,\n\t\t\t\t667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38071A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F380C1A5B2682008E3052 /* AppDelegate.h */,\n\t\t\t\t667F380D1A5B2682008E3052 /* AppDelegate.m */,\n\t\t\t\t667F38411A5B27E4008E3052 /* ExampleTableViewController.h */,\n\t\t\t\t667F38421A5B27E4008E3052 /* ExampleTableViewController.m */,\n\t\t\t\t667F383D1A5B26C5008E3052 /* TestObject.h */,\n\t\t\t\t667F383E1A5B26C5008E3052 /* TestObject.m */,\n\t\t\t\t667F38121A5B2682008E3052 /* Main.storyboard */,\n\t\t\t\t667F38151A5B2682008E3052 /* Images.xcassets */,\n\t\t\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */,\n\t\t\t\t667F38081A5B2682008E3052 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFetchedResultsControllerExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38081A5B2682008E3052 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38091A5B2682008E3052 /* Info.plist */,\n\t\t\t\t667F380A1A5B2682008E3052 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38211A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t4921A5FD1B1A781F00CA32B7 /* RBQTestCase.h */,\n\t\t\t\t4921A5FE1B1A781F00CA32B7 /* RBQTestCase.m */,\n\t\t\t\t4921A5F81B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m */,\n\t\t\t\t662C46941A623B6200A8D145 /* RBQFetchedResultsControllerDelegateTests.m */,\n\t\t\t\t49DF57301B17B09900BA8DDC /* RBQFetchRequestTests.m */,\n\t\t\t\t660F4C091B19413B00492DAE /* RBQFetchRequestInMemoryTests.m */,\n\t\t\t\t49DF57311B17B09900BA8DDC /* RBQRealmChangeLoggerTests.m */,\n\t\t\t\t49527C081B17F47500C115A3 /* RBQSafeRealmObjectTests.m */,\n\t\t\t\t49527C0E1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m */,\n\t\t\t\t49527C101B1818CF00C115A3 /* RBQEntityChangesObjectTests.m */,\n\t\t\t\t667F38221A5B2682008E3052 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFetchedResultsControllerExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38221A5B2682008E3052 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38231A5B2682008E3052 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE8F471E218FD6EB79AAD66CB /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6F2684C1DA2F8DDE9DF59603 /* libPods-RBQFetchedResultsControllerExample.a */,\n\t\t\t\t7709CA864C22F985095ED7F8 /* libPods-RBQFetchedResultsControllerExampleTests.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF195ADCA5FE615DCF6039F48 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC3BC6C0E1DFD67B590EF054C /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */,\n\t\t\t\tF522D106517B0E6B45AF3A92 /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */,\n\t\t\t\t4E25AEFAD0B0D6D0EA5FCDD3 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */,\n\t\t\t\t8CAE229C2AD33311A81574FC /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tB0DA5EE2877FCBCE2F6FD3E4 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t667F38011A5B2682008E3052 /* Sources */,\n\t\t\t\t667F38021A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F38031A5B2682008E3052 /* Resources */,\n\t\t\t\t23E874D43B022E36F548D0E4 /* [CP] Embed Pods Frameworks */,\n\t\t\t\tF248AEAAEA8558AA9BA0043A /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExample;\n\t\t\tproductName = RBQFetchedResultsControllerExample;\n\t\t\tproductReference = 667F38051A5B2682008E3052 /* RBQFetchedResultsControllerExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8990FF0F58865A1BF2A78256 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t667F381A1A5B2682008E3052 /* Sources */,\n\t\t\t\t667F381B1A5B2682008E3052 /* Frameworks */,\n\t\t\t\t667F381C1A5B2682008E3052 /* Resources */,\n\t\t\t\t2BB6C38536FC1B9F4628DF61 /* [CP] Embed Pods Frameworks */,\n\t\t\t\t4119263906E92044B3F7C0D0 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductName = RBQFetchedResultsControllerExampleTests;\n\t\t\tproductReference = 667F381E1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t667F37FD1A5B2682008E3052 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = Roobiq;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t667F38041A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t};\n\t\t\t\t\t667F381D1A5B2682008E3052 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tTestTargetID = 667F38041A5B2682008E3052;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 667F37FC1A5B2682008E3052;\n\t\t\tproductRefGroup = 667F38061A5B2682008E3052 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */,\n\t\t\t\t667F381D1A5B2682008E3052 /* RBQFetchedResultsControllerExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t667F38031A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38141A5B2682008E3052 /* Main.storyboard in Resources */,\n\t\t\t\t667F38191A5B2682008E3052 /* LaunchScreen.xib in Resources */,\n\t\t\t\t667F38161A5B2682008E3052 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381C1A5B2682008E3052 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t23E874D43B022E36F548D0E4 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t2BB6C38536FC1B9F4628DF61 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t4119263906E92044B3F7C0D0 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExampleTests/Pods-RBQFetchedResultsControllerExampleTests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8990FF0F58865A1BF2A78256 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB0DA5EE2877FCBCE2F6FD3E4 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tF248AEAAEA8558AA9BA0043A /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFetchedResultsControllerExample/Pods-RBQFetchedResultsControllerExample-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t667F38011A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t667F38431A5B27E4008E3052 /* ExampleTableViewController.m in Sources */,\n\t\t\t\t667F38401A5B26C5008E3052 /* TestObject.m in Sources */,\n\t\t\t\t667F380E1A5B2682008E3052 /* AppDelegate.m in Sources */,\n\t\t\t\t667F380B1A5B2682008E3052 /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t667F381A1A5B2682008E3052 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t660F4C0A1B19413B00492DAE /* RBQFetchRequestInMemoryTests.m in Sources */,\n\t\t\t\t49527C0F1B18144C00C115A3 /* RBQFetchedResultsSectionInfoTests.m in Sources */,\n\t\t\t\t49DF57321B17B09900BA8DDC /* RBQFetchRequestTests.m in Sources */,\n\t\t\t\t49DF57331B17B09900BA8DDC /* RBQRealmChangeLoggerTests.m in Sources */,\n\t\t\t\t49527C091B17F47500C115A3 /* RBQSafeRealmObjectTests.m in Sources */,\n\t\t\t\t4921A5F91B1A643500CA32B7 /* RBQFetchedResultsControllerTests.m in Sources */,\n\t\t\t\t662C46951A623B6200A8D145 /* RBQFetchedResultsControllerDelegateTests.m in Sources */,\n\t\t\t\t4921A5FF1B1A781F00CA32B7 /* RBQTestCase.m in Sources */,\n\t\t\t\t49527C111B1818CF00C115A3 /* RBQEntityChangesObjectTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t667F38201A5B2682008E3052 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 667F38041A5B2682008E3052 /* RBQFetchedResultsControllerExample */;\n\t\t\ttargetProxy = 667F381F1A5B2682008E3052 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t667F38121A5B2682008E3052 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38131A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t667F38171A5B2682008E3052 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t667F38181A5B2682008E3052 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t667F38261A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F38271A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F38291A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = C3BC6C0E1DFD67B590EF054C /* Pods-RBQFetchedResultsControllerExample.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382A1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = F522D106517B0E6B45AF3A92 /* Pods-RBQFetchedResultsControllerExample.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExample/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t667F382C1A5B2682008E3052 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4E25AEFAD0B0D6D0EA5FCDD3 /* Pods-RBQFetchedResultsControllerExampleTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t667F382D1A5B2682008E3052 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 8CAE229C2AD33311A81574FC /* Pods-RBQFetchedResultsControllerExampleTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsControllerExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Roobiq.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFetchedResultsControllerExample.app/RBQFetchedResultsControllerExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t667F38001A5B2682008E3052 /* Build configuration list for PBXProject \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38261A5B2682008E3052 /* Debug */,\n\t\t\t\t667F38271A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F38281A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F38291A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382A1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t667F382B1A5B2682008E3052 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t667F382C1A5B2682008E3052 /* Debug */,\n\t\t\t\t667F382D1A5B2682008E3052 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 667F37FD1A5B2682008E3052 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQEntityChangesObjectTests.m",
    "content": "//\n//  RBQEntityChangesObjectTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/28.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQRealmNotificationManager.h\"\n#import \"TestObject.h\"\n#import \"RBQSafeRealmObject.h\"\n\n@interface RBQEntityChangesObjectTests : XCTestCase\n\n@end\n\n@implementation RBQEntityChangesObjectTests\n\n- (void)setUp\n{\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n}\n\n#pragma mark - Utility\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Warc-performSelector-leaks\"\n\n- (RBQEntityChangesObject *)createEntityChangesObject\n{\n    SEL selector = NSSelectorFromString(@\"createEntityChangeObjectWithClassName:\");\n    \n    RBQEntityChangesObject *entityChangesObject = [[RBQEntityChangesObject class] performSelector:selector withObject:@\"TestObject\"];\n    \n    return entityChangesObject;\n}\n\n#pragma mark - Test Case\n\n- (void)testInitializeEntityChangesObject\n{\n    RBQEntityChangesObject *entityChangesObject = [self createEntityChangesObject];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([entityChangesObject.addedSafeObjects isKindOfClass:[NSSet class]]);\n    XCTAssert([entityChangesObject.deletedSafeObjects isKindOfClass:[NSSet class]]);\n    XCTAssert([entityChangesObject.changedSafeObjects isKindOfClass:[NSSet class]]);\n}\n\n- (void)testDidAddSafeObject\n{\n    RBQEntityChangesObject *entityChangesObject = [self createEntityChangesObject];\n    \n    SEL selector = NSSelectorFromString(@\"didAddSafeObject:\");\n    \n    RBQSafeRealmObject *safeObject = [[RBQSafeRealmObject alloc] initWithClassName:@\"TestObject\"\n                                                                   primaryKeyValue:@\"key\"\n                                                                    primaryKeyType:RLMPropertyTypeString\n                                                                             realm:[RLMRealm defaultRealm]];\n    \n    XCTAssert(entityChangesObject.addedSafeObjects.count == 0);\n\n    [entityChangesObject performSelector:selector withObject:safeObject];\n    \n    XCTAssert(entityChangesObject.addedSafeObjects.count == 1);\n}\n\n- (void)testWillDeleteSafeObject\n{\n    RBQEntityChangesObject *entityChangesObject = [self createEntityChangesObject];\n    \n    SEL selector = NSSelectorFromString(@\"willDeleteSafeObject:\");\n    \n    RBQSafeRealmObject *safeObject = [[RBQSafeRealmObject alloc] initWithClassName:@\"TestObject\"\n                                                                   primaryKeyValue:@\"key\"\n                                                                    primaryKeyType:RLMPropertyTypeString\n                                                                             realm:[RLMRealm defaultRealm]];\n    \n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 0);\n    \n    [entityChangesObject performSelector:selector withObject:safeObject];\n    \n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 1);\n}\n\n- (void)testDidChangeSafeObject\n{\n    RBQEntityChangesObject *entityChangesObject = [self createEntityChangesObject];\n    \n    SEL selector = NSSelectorFromString(@\"didChangeSafeObject:\");\n    \n    RBQSafeRealmObject *safeObject = [[RBQSafeRealmObject alloc] initWithClassName:@\"TestObject\"\n                                                                   primaryKeyValue:@\"key\"\n                                                                    primaryKeyType:RLMPropertyTypeString\n                                                                             realm:[RLMRealm defaultRealm]];\n    \n    XCTAssert(entityChangesObject.changedSafeObjects.count == 0);\n    \n    [entityChangesObject performSelector:selector withObject:safeObject];\n    \n    XCTAssert(entityChangesObject.changedSafeObjects.count == 1);\n}\n#pragma clang diagnostic pop\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQFetchRequestInMemoryTests.m",
    "content": "//\n//  RBQFetchRequestInMemoryTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 5/29/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n\n#import \"RBQFetchRequest.h\"\n#import <Realm/Realm.h>\n#import \"TestObject.h\"\n\n@interface RBQFetchRequestInMemoryTests : XCTestCase\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n\n@end\n\n@implementation RBQFetchRequestInMemoryTests\n\n- (void)setUp\n{\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n    \n    // Setup the DB (use random strings to create new versions each time)\n    RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n    \n    inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n    \n    self.inMemoryRealm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    \n    [self.inMemoryRealm transactionWithBlock:^{\n        \n        [self.inMemoryRealm deleteAllObjects];\n        \n        for (int i=0; i < 10; i++) {\n            \n            TestObject *testObject = [[TestObject alloc] init];\n            \n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.sectionName = @\"sectionName\";\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                \n                testObject.inTable = YES;\n                \n            } else {\n                \n                testObject.inTable = NO;\n            }\n            \n            [self.inMemoryRealm addObject:testObject];\n        }\n    }];\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    RLMRealm *realm = self.inMemoryRealm;\n    \n    [realm transactionWithBlock:^{\n        \n        [realm deleteAllObjects];\n    }];\n}\n\n- (void)testVerifyEnityNameObjC\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    XCTAssert([fetchRequest.entityName isEqualToString:@\"TestObject\"]);\n}\n\n// TODO: testVerifyEntityNameSwift\n\n- (void)testFetchObjects\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptor];\n    \n    id<RLMCollection> results = [fetchRequest fetchObjects];\n    \n    TestObject *firstObject = results.firstObject;\n    \n    XCTAssert(results.count == 5);\n    XCTAssert([firstObject.key isEqualToString:@\"key0\"]);\n}\n\n- (void)testEvaluateObject\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = YES;\n    \n    XCTAssert([fetchRequest evaluateObject:testObject]);\n}\n\n- (void)testEvaluateObjectFailed\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = NO;\n    \n    XCTAssertFalse([fetchRequest evaluateObject:testObject]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQFetchRequestTests.m",
    "content": "//\n//  RBQFetchRequestTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/27.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQFetchRequest.h\"\n#import <Realm/Realm.h>\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchRequestTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchRequestTests\n\n- (void)testVerifyEnityNameObjC\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    XCTAssert([fetchRequest.entityName isEqualToString:@\"TestObject\"]);\n}\n\n// TODO: testVerifyEntityNameSwift\n\n- (void)testFetchObjects\n{\n    [self insertDifferentInTableTestObject];\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    fetchRequest.sortDescriptors = @[sortDescriptor];\n    \n    id<RLMCollection> results = [fetchRequest fetchObjects];\n    \n    TestObject *firstObject = results.firstObject;\n    \n    XCTAssert(results.count == 5);\n    XCTAssert([firstObject.key isEqualToString:@\"key0\"]);\n}\n\n- (void)testEvaluateObject\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = YES;\n    \n    XCTAssert([fetchRequest evaluateObject:testObject]);\n}\n\n- (void)testEvaluateObjectFailed\n{\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    testObject.inTable = NO;\n    \n    XCTAssertFalse([fetchRequest evaluateObject:testObject]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsControllerDelegateTests.m",
    "content": "//\n//  RBQFetchedResultsControllerDelegateTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/10/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n\n#import \"RBQFetchedResultsController.h\"\n#import \"RBQRealmNotificationManager.h\"\n#import \"RLMRealm+Notifications.h\"\n#import \"TestObject.h\"\n\n@interface RBQFetchedResultsControllerDelegateTests : XCTestCase <RBQFetchedResultsControllerDelegate>\n\n@property (strong, nonatomic) XCTestExpectation *controllerWillChangeContentExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeObjectExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeSectionExpectation;\n@property (strong, nonatomic) XCTestExpectation *controllerDidChangeContentExpectation;\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n@property (strong, nonatomic) RBQFetchedResultsController *fetchedResultsController;\n@property (assign, nonatomic) NSUInteger count;\n\n@end\n\n@implementation RBQFetchedResultsControllerDelegateTests\n\n- (void)setUp\n{\n    [super setUp];\n    \n    // Setup the DB (use random strings to create new versions each time)\n    RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n    \n    inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n    \n    self.inMemoryRealm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    \n    // Load the DB with data\n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteAllObjects];\n    \n    for (NSUInteger i = 0; i < 1000; i++) {\n        \n        NSString *title = [NSString stringWithFormat:@\"Cell %lu\", (unsigned long)i];\n        \n        TestObject *object = [TestObject testObjectWithTitle:title sortIndex:i inTable:YES];\n        \n        if (i < 10) {\n            object.sectionName = @\"First Section\";\n        }\n        else {\n            object.sectionName = @\"Second Section\";\n        }\n        \n        [self.inMemoryRealm addObject:object];\n    }\n    \n    [self.inMemoryRealm commitWriteTransaction];\n    \n    // Setup the FRC\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:self.inMemoryRealm\n                                                                      predicate:predicate];\n    \n    RLMSortDescriptor *sortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sortIndex\"\n                                                                            ascending:YES];\n    \n    RLMSortDescriptor *sortDescriptorSection = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\"\n                                                                                   ascending:YES];\n    \n    fetchRequest.sortDescriptors = @[sortDescriptorSection,sortDescriptor];\n    \n    self.fetchedResultsController =\n    [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest\n                                           sectionNameKeyPath:@\"sectionName\"\n                                                    cacheName:nil];\n    \n    self.fetchedResultsController.delegate = self;\n    \n    [self.fetchedResultsController performFetch];\n}\n\n- (void)tearDown\n{\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    self.controllerWillChangeContentExpectation = nil;\n    self.controllerDidChangeObjectExpectation = nil;\n    self.controllerDidChangeSectionExpectation = nil;\n    self.controllerDidChangeContentExpectation = nil;\n    \n    self.fetchedResultsController = nil;\n    self.count = 0;\n}\n\n- (void)testControllerWillChangeContent\n{\n    self.controllerWillChangeContentExpectation = [self expectationWithDescription:@\"FRC Will Change Content Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeObject\n{\n    self.controllerDidChangeObjectExpectation = [self expectationWithDescription:@\"FRC Did Change Object Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n    \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        \n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeSection\n{\n    self.controllerDidChangeObjectExpectation = [self expectationWithDescription:@\"FRC Did Change Object Fired\"];\n    self.controllerDidChangeSectionExpectation = [self expectationWithDescription:@\"FRC Did Change Section Fired\"];\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    // Test deleting a section\n    RLMResults *objectInFirstSection = [TestObject objectsInRealm:self.inMemoryRealm\n                                                            where:@\"%K == %@\",@\"sectionName\",@\"First Section\"];\n    \n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [self.inMemoryRealm deleteObjectsWithNotification:objectInFirstSection];\n    \n    [self.inMemoryRealm commitWriteTransaction];\n        \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n- (void)testControllerDidChangeContent\n{\n    self.controllerDidChangeContentExpectation = [self expectationWithDescription:@\"FRC Did Change Content Fired\"];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    [self deleteObjectAtIndexPath:indexPath];\n        \n    [self waitForExpectationsWithTimeout:5 handler:^(NSError *error) {\n        XCTAssertNil(error, @\"%@\", error.localizedDescription);\n    }];\n}\n\n#pragma - Actions\n\n- (void)deleteObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    TestObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];\n    \n    [self.inMemoryRealm beginWriteTransaction];\n    \n    [[RBQRealmChangeLogger loggerForRealm:self.inMemoryRealm] willDeleteObject:object];\n    \n    [self.inMemoryRealm deleteObject:object];\n    \n    [self.inMemoryRealm commitWriteTransaction];\n}\n\n#pragma mark - <RBQFetchedResultsControllerDelegate>\n\n- (void)controllerWillChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerWillChangeContentExpectation) {\n        \n        [self.controllerWillChangeContentExpectation fulfill];\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath\n{\n    \n    switch(type) {\n            \n        case NSFetchedResultsChangeInsert:\n        {\n            NSLog(@\"Inserting at path %@\", newIndexPath);\n            break;\n        }\n        case NSFetchedResultsChangeDelete:\n        {\n            NSLog(@\"Deleting at path %ld\", (long)indexPath.row);\n            break;\n        }\n        case NSFetchedResultsChangeUpdate:\n            NSLog(@\"Updating at path %@\", indexPath);\n            break;\n            \n        case NSFetchedResultsChangeMove:\n            NSLog(@\"Moving from path %@ to %@\", indexPath, newIndexPath);\n            break;\n    }\n    \n    // Fulfilling an expectation prematurely seems to cause problems\n    if (self.controllerDidChangeObjectExpectation &&\n        !self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeObjectExpectation fulfill];\n    }\n    else if (self.controllerDidChangeObjectExpectation &&\n             self.controllerDidChangeSectionExpectation) {\n        \n        self.count ++;\n        \n        if (self.count == 10) {\n            \n            [self.controllerDidChangeObjectExpectation fulfill];\n        }\n    }\n}\n\n- (void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(NSString *)sectionName\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type\n{\n    if (type == NSFetchedResultsChangeInsert) {\n        \n        NSLog(@\"Inserting section at %lu\", (unsigned long)sectionIndex);\n    }\n    else if (type == NSFetchedResultsChangeDelete) {\n        \n        NSLog(@\"Deleting section at %lu\", (unsigned long)sectionIndex);\n    }\n\n    if (self.controllerDidChangeSectionExpectation) {\n        \n        [self.controllerDidChangeSectionExpectation fulfill];\n    }\n}\n\n- (void)controllerDidChangeContent:(RBQFetchedResultsController *)controller\n{\n    if (self.controllerDidChangeContentExpectation) {\n        \n        [self.controllerDidChangeContentExpectation fulfill];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsControllerTests.m",
    "content": "//\n//  RBQFetchedResultsControllerTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/29.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import <UIKit/UIKit.h>\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchedResultsControllerTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchedResultsControllerTests\n\n- (void)testPerformFetch\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    XCTAssert([fetchedResultsController numberOfSections] == 2);\n    XCTAssert([fetchedResultsController.sectionNameKeyPath isEqualToString:@\"sectionName\"]);\n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n}\n\n- (void)testPeformFetchWithoutSortDescriptor\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    XCTAssert([fetchedResultsController numberOfSections] == 10);\n    XCTAssert([fetchedResultsController.sectionNameKeyPath isEqualToString:@\"sectionName\"]);\n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n}\n\n- (void)testDeleteWithCacheName\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    \n    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];\n    TestObject *testObject = [fetchedResultsController objectAtIndexPath:indexPath];\n    \n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    XCTAssert([testObject.sectionName isEqualToString:@\"section 1\"]);\n    XCTAssert(testObject.sortIndex == 0);\n    \n    [RBQFetchedResultsController deleteCacheWithName:@\"cache\"];\n    \n    XCTAssert([fetchedResultsController.cacheName isEqualToString:@\"cache\"]);\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    XCTAssertNil([fetchedResultsController objectAtIndexPath:indexPath]);\n}\n\n// TODO: - deleteWithCacheName pass nil\n\n- (void)testUpdateFetchRequestSectionNameKeyPathAndPeformFetch\n{\n    [self insertDifferentSectionNameTestObject];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate:predicate];\n    RLMSortDescriptor *sectionNameSortDescriptor = [RLMSortDescriptor sortDescriptorWithProperty:@\"sectionName\" ascending:YES];\n    fetchRequest.sortDescriptors = @[sectionNameSortDescriptor];\n    RBQFetchedResultsController *fetchedResultsController = [[RBQFetchedResultsController alloc] initWithFetchRequest:fetchRequest sectionNameKeyPath:@\"sectionName\" cacheName:@\"cache\"];\n    [fetchedResultsController performFetch];\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 10);\n    NSPredicate *anotherPredicate = [NSPredicate predicateWithFormat:@\"inTable = NO\"];\n    RBQFetchRequest *anotherFetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\" inRealm:[RLMRealm defaultRealm] predicate: anotherPredicate];\n    [fetchedResultsController updateFetchRequest:anotherFetchRequest sectionNameKeyPath:@\"sectionName\" andPeformFetch:YES];\n    XCTAssert(fetchedResultsController.fetchedObjects.count == 0);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQFetchedResultsSectionInfoTests.m",
    "content": "//\n//  RBQFetchedResultsSectionInfoTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/28.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQFetchedResultsController.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQFetchedResultsSectionInfoTests : RBQTestCase\n\n@end\n\n@implementation RBQFetchedResultsSectionInfoTests\n\n#pragma mark - Utility \n\n- (RBQFetchedResultsSectionInfo *)createFetchedResultsSectionInfo\n{\n    SEL selector = NSSelectorFromString(@\"createSectionWithName:sectionNameKeyPath:fetchRequest:\");\n    \n    NSMethodSignature *signature = [[RBQFetchedResultsSectionInfo class] methodSignatureForSelector:selector];\n    \n    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];\n    \n    [invocation setSelector:selector];\n    [invocation setTarget:[RBQFetchedResultsSectionInfo class]];\n    \n    NSString *sectionName = @\"section 1\";\n    \n    NSString *sectionNameKeyPath = @\"sectionName\";\n    \n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"inTable = YES\"];\n    \n    RBQFetchRequest *fetchRequest = [RBQFetchRequest fetchRequestWithEntityName:@\"TestObject\"\n                                                                        inRealm:[RLMRealm defaultRealm]\n                                                                      predicate:predicate];\n    \n    [invocation setArgument:&sectionName atIndex:2];\n    [invocation setArgument:&sectionNameKeyPath atIndex:3];\n    [invocation setArgument:&fetchRequest atIndex:4];\n    \n    [invocation invoke];\n    \n    RBQFetchedResultsSectionInfo __unsafe_unretained *sectionInfo;\n    \n    [invocation getReturnValue:&sectionInfo];\n    \n    return sectionInfo;\n}\n\n#pragma mark - Test Case\n\n- (void)testInitializeFetchedResultsSectionInfo\n{\n    RBQFetchedResultsSectionInfo *sectionInfo = [self createFetchedResultsSectionInfo];\n    \n    XCTAssertNotNil(sectionInfo);\n    XCTAssert([sectionInfo isKindOfClass:[RBQFetchedResultsSectionInfo class]]);\n}\n\n- (void)testObjectsProperty\n{\n    [self insertDifferentSectionNameTestObject];\n    RBQFetchedResultsSectionInfo *sectionInfo = [self createFetchedResultsSectionInfo];\n    \n    id<RLMCollection> results = sectionInfo.objects;\n    \n    XCTAssert(sectionInfo.numberOfObjects == 5);\n    XCTAssert(results.count == 5);\n    \n    for (TestObject *testObject in results) {\n        \n        XCTAssert([testObject.sectionName isEqualToString:@\"section 1\"]);\n        XCTAssert(testObject.inTable == YES);\n    }\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQRealmChangeLoggerTests.m",
    "content": "//\n//  RBQRealmChangeLoggerTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/27.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQRealmNotificationManager.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQRealmChangeLoggerTests : RBQTestCase\n\n@end\n\n@implementation RBQRealmChangeLoggerTests\n\n- (void)testDidAddObject\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    \n    testObject.key = @\"key\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger didAddObject:testObject];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 1);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 0);\n}\n\n- (void)testDidAddObjects\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject1 = [[TestObject alloc] init];\n    TestObject *testObject2 = [[TestObject alloc] init];\n    TestObject *testObject3 = [[TestObject alloc] init];\n    \n    testObject1.key = @\"key1\";\n    testObject2.key = @\"key2\";\n    testObject3.key = @\"key3\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger didAddObjects:@[testObject1, testObject2, testObject3]];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 3);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 0);\n}\n\n- (void)testWillDeleteObject\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger willDeleteObject:testObject];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 1);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 0);\n}\n\n- (void)testWillDeleteObjects\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject1 = [[TestObject alloc] init];\n    TestObject *testObject2 = [[TestObject alloc] init];\n    TestObject *testObject3 = [[TestObject alloc] init];\n    \n    testObject1.key = @\"key1\";\n    testObject2.key = @\"key2\";\n    testObject3.key = @\"key3\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger willDeleteObjects:@[testObject1, testObject2, testObject3]];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 3);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 0);\n}\n\n- (void)testDidChangeObject\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger didChangeObject:testObject];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 1);\n}\n\n- (void)testDidChangeObjects\n{\n    RBQRealmChangeLogger *logger = [RBQRealmChangeLogger defaultLogger];\n    \n    TestObject *testObject1 = [[TestObject alloc] init];\n    TestObject *testObject2 = [[TestObject alloc] init];\n    TestObject *testObject3 = [[TestObject alloc] init];\n    \n    testObject1.key = @\"key1\";\n    testObject2.key = @\"key2\";\n    testObject3.key = @\"key3\";\n    \n    XCTAssert(logger.entityChanges.allKeys.count == 0);\n    \n    [logger didChangeObjects:@[testObject1, testObject2, testObject3]];\n    \n    NSDictionary *entityChanges = logger.entityChanges;\n    \n    RBQEntityChangesObject *entityChangesObject = entityChanges[@\"TestObject\"];\n    \n    XCTAssert([entityChangesObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert(entityChangesObject.addedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.deletedSafeObjects.count == 0);\n    XCTAssert(entityChangesObject.changedSafeObjects.count == 3);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQSafeRealmObjectTests.m",
    "content": "//\n//  RBQSafeRealmObjectTests.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/28.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import \"RBQSafeRealmObject.h\"\n#import \"TestObject.h\"\n#import \"RBQTestCase.h\"\n\n@interface RBQSafeRealmObjectTests : RBQTestCase\n\n@end\n\n@implementation RBQSafeRealmObjectTests\n\n- (void)testInitializeSafeObject\n{\n    RBQSafeRealmObject *safeObject = [[RBQSafeRealmObject alloc] initWithClassName:@\"TestObject\"\n                                                                   primaryKeyValue:@\"key\"\n                                                                    primaryKeyType:RLMPropertyTypeString\n                                                                             realm:[RLMRealm defaultRealm]];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n}\n\n- (void)testSafeObjectFromObjectIfObjectIsPersisted\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n}\n\n- (void)testSafeObjectFromObjectIfObjectIsNotPersisted\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n    XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n    XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n    \n    XCTAssertNil(safeObject.realmConfiguration);\n}\n\n- (void)testThreadSafe\n{\n    XCTestExpectation *anotherThreadExpectation = [self expectationWithDescription:@\"Wait the execution of antoher thread\"];\n    \n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n        \n        XCTAssert([safeObject.className isEqualToString:@\"TestObject\"]);\n        XCTAssert([safeObject.primaryKeyValue isEqualToString:@\"key\"]);\n        XCTAssert(safeObject.primaryKeyType == RLMPropertyTypeString);\n        XCTAssert([safeObject.realm isEqual:[RLMRealm defaultRealm]]);\n        \n        [anotherThreadExpectation fulfill];\n    });\n    \n    [self waitForExpectationsWithTimeout:5 handler:nil];\n}\n\n- (void)testRLMRealmProperty\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        [realm addObject:testObject];\n    }];\n    \n    TestObject *fetchedObject = [TestObject allObjects].firstObject;\n    \n    RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject.RLMObject isEqualToObject:fetchedObject]);\n}\n\n- (void)testIsEqualToObject\n{\n    TestObject *testObject = [[TestObject alloc] init];\n    testObject.key = @\"key\";\n    testObject.sectionName = @\"sectionName\";\n    testObject.title = @\"title\";\n    testObject.sortIndex = 0;\n    testObject.inTable = YES;\n    \n    RLMRealm *realm = [RLMRealm defaultRealm];\n    \n    [realm transactionWithBlock:^{\n        \n        [realm addObject:testObject];\n    }];\n    \n    TestObject *fetchedObject = [TestObject allObjects].firstObject;\n    \n    RBQSafeRealmObject *safeObject1 = [RBQSafeRealmObject safeObjectFromObject:fetchedObject];\n    RBQSafeRealmObject *safeObject2 = [RBQSafeRealmObject safeObjectFromObject:testObject];\n    \n    XCTAssert([safeObject1 isEqualToObject:safeObject2]);\n}\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQTestCase.h",
    "content": "//\n//  RBQTestCase.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/30.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n\n@interface RBQTestCase : XCTestCase\n\n@property (nonatomic) BOOL inMemory;\n\n- (void)insertDifferentSectionNameTestObject;\n\n- (void)insertDifferentInTableTestObject;\n\n@end\n"
  },
  {
    "path": "Examples/ObjC-cocoapods/RBQFetchedResultsControllerExampleTests/RBQTestCase.m",
    "content": "//\n//  RBQTestCase.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by AsanoYuki on 2015/05/30.\n//  Copyright (c) 2015年 Roobiq. All rights reserved.\n//\n\n#import \"RBQTestCase.h\"\n#import <Realm/RLMRealm.h>\n#import \"TestObject.h\"\n\nstatic NSString *testRealmFileName = @\"test.realm\";\n\n@interface RBQTestCase()\n\n@property (nonatomic, strong) RLMRealm *realm;\n\n@end\n\n@implementation RBQTestCase\n\n- (void)setUp\n{\n    [super setUp];\n\n    NSArray *writablePaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);\n    NSString *documentsPath = [writablePaths lastObject];\n    NSString *testRealmFile = [documentsPath stringByAppendingPathComponent:testRealmFileName];\n    \n    RLMRealmConfiguration *defaultConfig = [RLMRealmConfiguration defaultConfiguration];\n    defaultConfig.path = testRealmFile;\n    \n    [RLMRealmConfiguration setDefaultConfiguration:defaultConfig];\n    \n    if (self.inMemory) {\n        RLMRealmConfiguration *inMemoryConfig = [RLMRealmConfiguration defaultConfiguration];\n        inMemoryConfig.inMemoryIdentifier = [[NSProcessInfo processInfo] globallyUniqueString];\n        self.realm = [RLMRealm realmWithConfiguration:inMemoryConfig error:nil];\n    }\n    else {\n        self.realm = [RLMRealm defaultRealm];\n    }\n    \n    [self.realm transactionWithBlock:^{\n        [[RLMRealm defaultRealm] deleteAllObjects];\n    }];\n}\n\n- (void)tearDown\n{\n    [super tearDown];\n    \n    [self.realm transactionWithBlock:^{\n        [[RLMRealm defaultRealm] deleteAllObjects];\n    }];\n}\n\n#pragma mark - Insert objects in Realm\n\n- (void)insertDifferentSectionNameTestObject\n{\n    [self.realm transactionWithBlock:^{\n        for (int i=0; i < 10; i++) {\n            TestObject *testObject = [[TestObject alloc] init];\n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.inTable = YES;\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                testObject.sectionName = @\"section 1\";\n            }\n            else {\n                testObject.sectionName = @\"section 2\";\n            }\n            \n            [[RLMRealm defaultRealm] addObject:testObject];\n        }\n    }];\n}\n\n- (void)insertDifferentInTableTestObject\n{\n    [self.realm transactionWithBlock:^{\n        for (int i=0; i < 10; i++) {\n            TestObject *testObject = [[TestObject alloc] init];\n            testObject.key = [NSString stringWithFormat:@\"key%d\", i];\n            testObject.sectionName = @\"sectionName\";\n            testObject.title = @\"title\";\n            testObject.sortIndex = i;\n            \n            if (i % 2 == 0) {\n                testObject.inTable = YES;\n            }\n            else {\n                testObject.inTable = NO;\n            }\n            \n            [[RLMRealm defaultRealm] addObject:testObject];\n        }\n    }];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Swift/.swift-version",
    "content": "3.0.1\n"
  },
  {
    "path": "Examples/Swift/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '8.0'\n\nuse_frameworks!\ninhibit_all_warnings!\n\ntarget 'RBQFRCSwiftExample' do\n  pod 'RealmUtilities'\n  pod 'SafeRealmObject'\n\n  target 'RBQFRCSwiftExampleTests' do\n    inherit! :search_paths\n  end\nend\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n\n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        return true\n    }\n\n    func applicationWillResignActive(_ application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n    }\n\n    func applicationDidEnterBackground(_ application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n\n    func applicationWillEnterForeground(_ application: UIApplication) {\n        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n    }\n\n    func applicationDidBecomeActive(_ application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillTerminate(_ application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Adam Fish. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFRCSwiftExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"7706\" systemVersion=\"14E46\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"pXo-YP-FSY\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"7703\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"cL0-iK-sWE\">\n            <objects>\n                <tableViewController id=\"yyu-CO-Dz7\" customClass=\"MainTableViewController\" customModule=\"RBQFRCSwiftExample\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"dCj-zO-BDh\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"dcx-cS-C9p\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"dcx-cS-C9p\" id=\"4hg-bj-pBs\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"yyu-CO-Dz7\" id=\"ynJ-Ad-3Kd\"/>\n                            <outlet property=\"delegate\" destination=\"yyu-CO-Dz7\" id=\"Hx8-ze-i3N\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"znT-Ji-xt8\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"tzS-tI-GD3\">\n                            <connections>\n                                <action selector=\"didPressDeleteButton:\" destination=\"yyu-CO-Dz7\" id=\"FBd-zO-Cve\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"cXN-uD-s4R\">\n                            <connections>\n                                <action selector=\"didPressInsertButton:\" destination=\"yyu-CO-Dz7\" id=\"RCy-bO-2jZ\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"sm2-n8-gx5\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"117\" y=\"69\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"H0u-et-eki\">\n            <objects>\n                <navigationController id=\"pXo-YP-FSY\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"zO6-wD-avS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"yyu-CO-Dz7\" kind=\"relationship\" relationship=\"rootViewController\" id=\"meQ-CU-ag3\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"NkK-Nm-AHE\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-703\" y=\"69\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/MainTableViewController.swift",
    "content": "//\n//  MainTableViewController.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/31/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport SafeRealmObject\nimport UIKit\nimport Realm\nimport RealmSwift\n\n// MARK: -\n\nclass TestObject: Object {\n    @objc dynamic var title = \"\"\n    \n    @objc dynamic var sortIndex = 0\n    \n    @objc dynamic var sectionName = \"\"\n    \n    @objc dynamic var key = \"\"\n    \n    @objc dynamic var inTable: Bool = false\n    \n    override class func primaryKey() -> String? {\n        return \"key\"\n    }\n    \n    class func testObject(_ title: String, sortIndex: Int, inTable: Bool) -> TestObject {\n        let object = TestObject()\n        \n        object.title = title\n        object.sortIndex = sortIndex\n        object.inTable = inTable\n        \n        object.key = \"\\(title)\\(sortIndex)\"\n        \n        return object\n    }\n}\n\n// MARK: -\n\nclass MainTableViewController: UITableViewController {\n    \n    var fetchedResultsController: FetchedResultsController<TestObject>?\n    \n    var realm: Realm?\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        let realm = try! Realm(configuration: Realm.Configuration(inMemoryIdentifier: \"Test\"))\n        \n        self.realm = realm\n        \n        realm.beginWrite()\n        \n        realm.deleteAll()\n        \n        for index in 1...1000 {\n            \n            let title = \"Cell \\(index)\"\n            \n            let object = TestObject.testObject(title, sortIndex: index, inTable: true)\n            \n            if (index < 10) {\n                object.sectionName = \"First Section\"\n            }\n            else {\n                object.sectionName = \"Second Section\"\n            }\n            \n            realm.add(object, update: false)\n        }\n        \n        try! realm.commitWrite()\n        \n        let predicate = NSPredicate(format: \"inTable = YES\")\n        \n        let fetchRequest = FetchRequest<TestObject>(realm: realm, predicate: predicate)\n        \n        let sortDescriptor = SortDescriptor(keyPath: \"sortIndex\", ascending: true)\n        \n        let sortDescriptorSection = SortDescriptor(keyPath: \"sectionName\", ascending: true)\n        \n        fetchRequest.sortDescriptors = [sortDescriptorSection, sortDescriptor]\n        \n        self.fetchedResultsController = FetchedResultsController<TestObject>(fetchRequest: fetchRequest, sectionNameKeyPath: \"sectionName\", cacheName: \"testCache\")\n        \n        self.fetchedResultsController!.delegate = self\n        \n        let _ = self.fetchedResultsController!.performFetch()\n    }\n\n    override func didReceiveMemoryWarning() {\n        super.didReceiveMemoryWarning()\n        // Dispose of any resources that can be recreated.\n    }\n\n    // MARK: - Table view data source\n\n    override func numberOfSections(in tableView: UITableView) -> Int {\n\n        return self.fetchedResultsController!.numberOfSections()\n    }\n\n    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n\n        return self.fetchedResultsController!.numberOfRowsForSectionIndex(section)\n    }\n    \n    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {\n        return self.fetchedResultsController!.titleForHeaderInSection(section)\n    }\n\n    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        let cell = tableView.dequeueReusableCell(withIdentifier: \"customCell\", for: indexPath) \n\n        // Configure the cell...\n        \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPath)\n\n        cell.textLabel?.text = object?.title\n        \n        return cell\n    }\n\n    // Override to support conditional editing of the table view.\n    override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {\n        // Return NO if you do not want the specified item to be editable.\n        return true\n    }\n\n    // Override to support editing the table view.\n    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {\n        if editingStyle == .delete {\n            // Delete the row from the data source\n            self.deleteObjectAtIndexPath(indexPath)\n        } else if editingStyle == .insert {\n            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        }    \n    }\n    \n    // MARK: - Button Actions\n    \n    @IBAction func didPressInsertButton(_ sender: UIBarButtonItem) {\n        self.insertObject()\n    }\n    @IBAction func didPressDeleteButton(_ sender: UIBarButtonItem) {\n        \n        let objectsInFirstSection = self.realm!.objects(TestObject.self).filter(\"%K == %@\", \"sectionName\",\"First Section\")\n        \n        try! self.realm!.write { () -> Void in\n            self.realm!.delete(objectsInFirstSection)\n        }\n    }\n    \n    // MARK: - Private\n    \n    fileprivate func deleteObjectAtIndexPath(_ indexPath: IndexPath) {\n        if let object = self.fetchedResultsController?.objectAtIndexPath(indexPath) {\n            \n            let realm = self.realm!\n            \n            try! realm.write({ () -> Void in\n                realm.delete(object)\n            })\n        }\n    }\n    \n    fileprivate func insertObject() {\n        \n        let realm = self.realm!\n            \n        let indexPathFirstRow = IndexPath(row: 0, section: 0)\n            \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n            \n        if (object?.sortIndex)! > 0 {\n            realm.beginWrite()\n            \n            let sortIndex = object!.sortIndex - 1\n            \n            let title = \"Cell \\(sortIndex)\"\n            \n            var newObject = realm.object(ofType: TestObject.self, forPrimaryKey: \"\\(title)\\(sortIndex)\" as AnyObject)\n\n            if newObject == nil {\n                newObject = TestObject()\n                newObject!.title = title\n                newObject!.sortIndex = sortIndex\n                newObject!.sectionName = \"First Section\"\n                newObject!.key = \"\\(title)\\(sortIndex)\"\n                newObject!.inTable = true\n                \n                realm.add(newObject!, update: false)\n            }\n            else {\n                newObject?.inTable = true\n            }\n            \n            try! realm.commitWrite()\n        }\n        else { // Test Moves\n            realm.beginWrite()\n            \n            let indexPathFifthRow = IndexPath(row: 5, section: 0)\n            let indexPathThirdRow = IndexPath(row: 3, section: 0)\n            let indexPathSixthRow = IndexPath(row: 6, section: 0)\n            let indexPathFirstRow = IndexPath(row: 0, section: 0)\n            \n            let firstObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n            let thirdObject = self.fetchedResultsController?.objectAtIndexPath(indexPathThirdRow)\n            let fifthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFifthRow)\n            let sixthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathSixthRow)\n            let ninthObject = realm.objects(TestObject.self).filter(\"%K == %@\", \"title\",\"Cell 9\")\n            \n            fifthObject?.sortIndex += 1\n            \n            sixthObject?.sortIndex -= 1\n            \n            firstObject?.inTable = false\n            \n            thirdObject?.title = \"Testing Move And Update\"\n            \n            if let testObject = ninthObject.first {\n                \n                if testObject.sectionName == \"First Section\" {\n                    testObject.sectionName = \"Second Section\"\n                }\n                else {\n                    testObject.sectionName = \"First Section\"\n                }\n            }\n            \n            try! realm.commitWrite()\n        }\n    }\n}\n\n// MARK: -\n\nextension MainTableViewController: FetchedResultsControllerDelegate {\n\n    func controllerWillChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.beginUpdates()\n    }\n\n    public func controller<T : Object>(_ controller: FetchedResultsController<T>, didChangeObject anObject: SafeObject<T>, atIndexPath indexPath: IndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {\n\n        let tableView = self.tableView\n\n        switch type {\n\n        case .insert:\n            tableView?.insertRows(at: [newIndexPath!], with: UITableView.RowAnimation.fade)\n\n        case .delete:\n            tableView?.deleteRows(at: [indexPath!], with: UITableView.RowAnimation.fade)\n\n        case .update:\n            tableView?.reloadRows(at: [indexPath!], with: UITableView.RowAnimation.fade)\n\n        case .move:\n            tableView?.deleteRows(at: [indexPath!], with: UITableView.RowAnimation.fade)\n            tableView?.insertRows(at: [newIndexPath!], with: UITableView.RowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeSection<T : Object>(_ controller: FetchedResultsController<T>, section: FetchResultsSectionInfo<T>, sectionIndex: UInt, changeType: NSFetchedResultsChangeType) {\n        \n        let tableView = self.tableView\n        \n        if changeType == NSFetchedResultsChangeType.insert {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.insertSections(indexSet, with: UITableView.RowAnimation.fade)\n        }\n        else if changeType == NSFetchedResultsChangeType.delete {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.deleteSections(indexSet, with: UITableView.RowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.endUpdates()\n    }\n}\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample/RBQFRCSwift-BridgingHeader.h",
    "content": "//\n//  RBQFRCSwift-BridgingHeader.h\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\n#import \"RBQFetchedResultsController.h\"\n#import \"RBQFetchRequest.h\"\n#import <RBQSafeRealmObject/RBQSafeRealmObject.h>\n#import <RealmUtilities/RLMObjectBase+Utilities.h>\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t9EDF1BD2192244E7325F36EC /* Pods_RBQFRCSwiftExampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B25B6BB5B4064923A161E8B0 /* Pods_RBQFRCSwiftExampleTests.framework */; };\n\t\tA0519BB61C56F88C00307EB5 /* FetchedResultsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0519BB21C56F88C00307EB5 /* FetchedResultsController.swift */; };\n\t\tA0519BB71C56F88C00307EB5 /* FetchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0519BB31C56F88C00307EB5 /* FetchRequest.swift */; };\n\t\tA0519BB81C56F88C00307EB5 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0519BB41C56F88C00307EB5 /* Utilities.swift */; };\n\t\tA0519BE51C56F89B00307EB5 /* RBQControllerCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519BBB1C56F89B00307EB5 /* RBQControllerCacheObject.m */; };\n\t\tA0519BE61C56F89B00307EB5 /* RBQObjectCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519BBD1C56F89B00307EB5 /* RBQObjectCacheObject.m */; };\n\t\tA0519BE71C56F89B00307EB5 /* RBQSectionCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519BBF1C56F89B00307EB5 /* RBQSectionCacheObject.m */; };\n\t\tA0519BE81C56F89B00307EB5 /* RBQFetchedResultsController.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519BC11C56F89B00307EB5 /* RBQFetchedResultsController.m */; };\n\t\tA0519BE91C56F89B00307EB5 /* RBQFetchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519BC31C56F89B00307EB5 /* RBQFetchRequest.m */; };\n\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */; };\n\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F11B6185AE0000C9B2 /* Main.storyboard */; };\n\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F41B6185AE0000C9B2 /* Images.xcassets */; };\n\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */; };\n\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */; };\n\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0AB74611B6C389700923940 /* MainTableViewController.swift */; };\n\t\tC9530DC27BD716194D2D9ED4 /* Pods_RBQFRCSwiftExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00319C4131299318D0CE01CC /* Pods_RBQFRCSwiftExample.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tA05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A05FA4E01B6185AE0000C9B2 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = A05FA4E71B6185AE0000C9B2;\n\t\t\tremoteInfo = RBQFRCSwiftExample;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t00319C4131299318D0CE01CC /* Pods_RBQFRCSwiftExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RBQFRCSwiftExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t633E6162CF3770E25E232A56 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExampleTests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA0519BB21C56F88C00307EB5 /* FetchedResultsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FetchedResultsController.swift; path = ../../RBQFetchedResultsController/Source/Swift/FetchedResultsController.swift; sourceTree = \"<group>\"; };\n\t\tA0519BB31C56F88C00307EB5 /* FetchRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FetchRequest.swift; path = ../../RBQFetchedResultsController/Source/Swift/FetchRequest.swift; sourceTree = \"<group>\"; };\n\t\tA0519BB41C56F88C00307EB5 /* Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Utilities.swift; path = ../../RBQFetchedResultsController/Source/Swift/Utilities.swift; sourceTree = \"<group>\"; };\n\t\tA0519BBA1C56F89B00307EB5 /* RBQControllerCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQControllerCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519BBB1C56F89B00307EB5 /* RBQControllerCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQControllerCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519BBC1C56F89B00307EB5 /* RBQObjectCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQObjectCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519BBD1C56F89B00307EB5 /* RBQObjectCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQObjectCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519BBE1C56F89B00307EB5 /* RBQSectionCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQSectionCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519BBF1C56F89B00307EB5 /* RBQSectionCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQSectionCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519BC01C56F89B00307EB5 /* RBQFetchedResultsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchedResultsController.h; path = ../../RBQFetchedResultsController/Source/RBQFetchedResultsController.h; sourceTree = \"<group>\"; };\n\t\tA0519BC11C56F89B00307EB5 /* RBQFetchedResultsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchedResultsController.m; path = ../../RBQFetchedResultsController/Source/RBQFetchedResultsController.m; sourceTree = \"<group>\"; };\n\t\tA0519BC21C56F89B00307EB5 /* RBQFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchRequest.h; path = ../../RBQFetchedResultsController/Source/RBQFetchRequest.h; sourceTree = \"<group>\"; };\n\t\tA0519BC31C56F89B00307EB5 /* RBQFetchRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchRequest.m; path = ../../RBQFetchedResultsController/Source/RBQFetchRequest.m; sourceTree = \"<group>\"; };\n\t\tA0519BC61C56F89B00307EB5 /* RLMObject+Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"RLMObject+Notifications.h\"; sourceTree = \"<group>\"; };\n\t\tA0519BC71C56F89B00307EB5 /* RLMObject+Notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"RLMObject+Notifications.m\"; sourceTree = \"<group>\"; };\n\t\tA0519BC81C56F89B00307EB5 /* RLMRealm+Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"RLMRealm+Notifications.h\"; sourceTree = \"<group>\"; };\n\t\tA0519BC91C56F89B00307EB5 /* RLMRealm+Notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"RLMRealm+Notifications.m\"; sourceTree = \"<group>\"; };\n\t\tA0519BCA1C56F89B00307EB5 /* RLMResults+Notifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"RLMResults+Notifications.h\"; sourceTree = \"<group>\"; };\n\t\tA0519BCB1C56F89B00307EB5 /* RLMResults+Notifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"RLMResults+Notifications.m\"; sourceTree = \"<group>\"; };\n\t\tA0519BCD1C56F89B00307EB5 /* RBQRealmNotificationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQRealmNotificationManager.h; sourceTree = \"<group>\"; };\n\t\tA0519BCE1C56F89B00307EB5 /* RBQRealmNotificationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQRealmNotificationManager.m; sourceTree = \"<group>\"; };\n\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFRCSwiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tA05FA4F21B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tA05FA4F71B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFRCSwiftExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RBQFRCSwiftExampleTests.swift; sourceTree = \"<group>\"; };\n\t\tA08909851B8FB1C1002E87DD /* RBQFRCSwift-BridgingHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"RBQFRCSwift-BridgingHeader.h\"; sourceTree = \"<group>\"; };\n\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTableViewController.swift; sourceTree = \"<group>\"; };\n\t\tB25B6BB5B4064923A161E8B0 /* Pods_RBQFRCSwiftExampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RBQFRCSwiftExampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tB36C0AF6EC590706E168170A /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExampleTests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD7864A603072C1724ABE96A6 /* Pods-RBQFRCSwiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExample.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tF6B7EBA1353A22336B3D1695 /* Pods-RBQFRCSwiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExample.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tC9530DC27BD716194D2D9ED4 /* Pods_RBQFRCSwiftExample.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t9EDF1BD2192244E7325F36EC /* Pods_RBQFRCSwiftExampleTests.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t39F4E4983D27CC60399A5D24 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF6B7EBA1353A22336B3D1695 /* Pods-RBQFRCSwiftExample.debug.xcconfig */,\n\t\t\t\tD7864A603072C1724ABE96A6 /* Pods-RBQFRCSwiftExample.release.xcconfig */,\n\t\t\t\tB36C0AF6EC590706E168170A /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */,\n\t\t\t\t633E6162CF3770E25E232A56 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519BB91C56F89B00307EB5 /* CacheObjects */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519BBA1C56F89B00307EB5 /* RBQControllerCacheObject.h */,\n\t\t\t\tA0519BBB1C56F89B00307EB5 /* RBQControllerCacheObject.m */,\n\t\t\t\tA0519BBC1C56F89B00307EB5 /* RBQObjectCacheObject.h */,\n\t\t\t\tA0519BBD1C56F89B00307EB5 /* RBQObjectCacheObject.m */,\n\t\t\t\tA0519BBE1C56F89B00307EB5 /* RBQSectionCacheObject.h */,\n\t\t\t\tA0519BBF1C56F89B00307EB5 /* RBQSectionCacheObject.m */,\n\t\t\t);\n\t\t\tname = CacheObjects;\n\t\t\tpath = ../../RBQFetchedResultsController/Source/CacheObjects;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519BC41C56F89B00307EB5 /* RBQRealmNotificationManager */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519BC51C56F89B00307EB5 /* Helpers */,\n\t\t\t\tA0519BCD1C56F89B00307EB5 /* RBQRealmNotificationManager.h */,\n\t\t\t\tA0519BCE1C56F89B00307EB5 /* RBQRealmNotificationManager.m */,\n\t\t\t);\n\t\t\tname = RBQRealmNotificationManager;\n\t\t\tpath = ../../RBQFetchedResultsController/Source/RBQRealmNotificationManager;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519BC51C56F89B00307EB5 /* Helpers */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519BC61C56F89B00307EB5 /* RLMObject+Notifications.h */,\n\t\t\t\tA0519BC71C56F89B00307EB5 /* RLMObject+Notifications.m */,\n\t\t\t\tA0519BC81C56F89B00307EB5 /* RLMRealm+Notifications.h */,\n\t\t\t\tA0519BC91C56F89B00307EB5 /* RLMRealm+Notifications.m */,\n\t\t\t\tA0519BCA1C56F89B00307EB5 /* RLMResults+Notifications.h */,\n\t\t\t\tA0519BCB1C56F89B00307EB5 /* RLMResults+Notifications.m */,\n\t\t\t);\n\t\t\tpath = Helpers;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4DF1B6185AE0000C9B2 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t\tA05FA4E91B6185AE0000C9B2 /* Products */,\n\t\t\t\t39F4E4983D27CC60399A5D24 /* Pods */,\n\t\t\t\tE23B252BD5C9A622BFB39D12 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4E91B6185AE0000C9B2 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */,\n\t\t\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA089093F1B8F9715002E87DD /* RBQFetchedResultsController */,\n\t\t\t\tA08909331B8F970A002E87DD /* Swift */,\n\t\t\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */,\n\t\t\t\tA08909851B8FB1C1002E87DD /* RBQFRCSwift-BridgingHeader.h */,\n\t\t\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */,\n\t\t\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */,\n\t\t\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */,\n\t\t\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */,\n\t\t\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */,\n\t\t\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA08909331B8F970A002E87DD /* Swift */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519BB21C56F88C00307EB5 /* FetchedResultsController.swift */,\n\t\t\t\tA0519BB31C56F88C00307EB5 /* FetchRequest.swift */,\n\t\t\t\tA0519BB41C56F88C00307EB5 /* Utilities.swift */,\n\t\t\t);\n\t\t\tname = Swift;\n\t\t\tpath = ../../Swift;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA089093F1B8F9715002E87DD /* RBQFetchedResultsController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519BB91C56F89B00307EB5 /* CacheObjects */,\n\t\t\t\tA0519BC01C56F89B00307EB5 /* RBQFetchedResultsController.h */,\n\t\t\t\tA0519BC11C56F89B00307EB5 /* RBQFetchedResultsController.m */,\n\t\t\t\tA0519BC21C56F89B00307EB5 /* RBQFetchRequest.h */,\n\t\t\t\tA0519BC31C56F89B00307EB5 /* RBQFetchRequest.m */,\n\t\t\t\tA0519BC41C56F89B00307EB5 /* RBQRealmNotificationManager */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsController;\n\t\t\tpath = ../../RBQFetchedResultsController;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE23B252BD5C9A622BFB39D12 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t00319C4131299318D0CE01CC /* Pods_RBQFRCSwiftExample.framework */,\n\t\t\t\tB25B6BB5B4064923A161E8B0 /* Pods_RBQFRCSwiftExampleTests.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t5023F0B217EFFA8F645B9BE6 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tA05FA4E41B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4E61B6185AE0000C9B2 /* Resources */,\n\t\t\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */,\n\t\t\t\tB7699BF9CDBA409BEB9F4504 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExample;\n\t\t\tproductName = RBQFRCSwiftExample;\n\t\t\tproductReference = A05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t31865C1B5BE568D46F99B0EC /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tA05FA4F91B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExampleTests;\n\t\t\tproductName = RBQFRCSwiftExampleTests;\n\t\t\tproductReference = A05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tA05FA4E01B6185AE0000C9B2 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0700;\n\t\t\t\tLastUpgradeCheck = 1010;\n\t\t\t\tORGANIZATIONNAME = \"Adam Fish\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tA05FA4E71B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t};\n\t\t\t\t\tA05FA4FC1B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t\tTestTargetID = A05FA4E71B6185AE0000C9B2;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = A05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = A05FA4DF1B6185AE0000C9B2;\n\t\t\tproductRefGroup = A05FA4E91B6185AE0000C9B2 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tA05FA4E61B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */,\n\t\t\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */,\n\t\t\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t31865C1B5BE568D46F99B0EC /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-RBQFRCSwiftExampleTests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t5023F0B217EFFA8F645B9BE6 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-RBQFRCSwiftExample-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB7699BF9CDBA409BEB9F4504 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/RBQSafeRealmObject/RBQSafeRealmObject.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Realm/Realm.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/RealmSwift/RealmSwift.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/RealmUtilities/RealmUtilities.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/SafeRealmObject/SafeRealmObject.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RBQSafeRealmObject.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Realm.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RealmSwift.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RealmUtilities.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SafeRealmObject.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tA05FA4E41B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0519BE61C56F89B00307EB5 /* RBQObjectCacheObject.m in Sources */,\n\t\t\t\tA0519BB71C56F88C00307EB5 /* FetchRequest.swift in Sources */,\n\t\t\t\tA0519BE51C56F89B00307EB5 /* RBQControllerCacheObject.m in Sources */,\n\t\t\t\tA0519BB61C56F88C00307EB5 /* FetchedResultsController.swift in Sources */,\n\t\t\t\tA0519BE81C56F89B00307EB5 /* RBQFetchedResultsController.m in Sources */,\n\t\t\t\tA0519BB81C56F88C00307EB5 /* Utilities.swift in Sources */,\n\t\t\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */,\n\t\t\t\tA0519BE71C56F89B00307EB5 /* RBQSectionCacheObject.m in Sources */,\n\t\t\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */,\n\t\t\t\tA0519BE91C56F89B00307EB5 /* RBQFetchRequest.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4F91B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = A05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */;\n\t\t\ttargetProxy = A05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F21B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F71B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tA05FA5051B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5061B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA5081B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = F6B7EBA1353A22336B3D1695 /* Pods-RBQFRCSwiftExample.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/RBQFRCSwiftExample\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"$(SRCROOT)/RBQFRCSwiftExample/RBQFRCSwift-BridgingHeader.h\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5091B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D7864A603072C1724ABE96A6 /* Pods-RBQFRCSwiftExample.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/RBQFRCSwiftExample\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"$(SRCROOT)/RBQFRCSwiftExample/RBQFRCSwift-BridgingHeader.h\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA50B1B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = B36C0AF6EC590706E168170A /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA50C1B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 633E6162CF3770E25E232A56 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tA05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5051B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5061B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5081B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5091B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA50B1B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA50C1B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = A05FA4E01B6185AE0000C9B2 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift/RBQFRCSwiftExampleTests/RBQFRCSwiftExampleTests.swift",
    "content": "//\n//  RBQFRCSwiftExampleTests.swift\n//  RBQFRCSwiftExampleTests\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\nimport XCTest\n\nclass RBQFRCSwiftExampleTests: XCTestCase {\n    \n    override func setUp() {\n        super.setUp()\n        // Put setup code here. This method is called before the invocation of each test method in the class.\n    }\n    \n    override func tearDown() {\n        // Put teardown code here. This method is called after the invocation of each test method in the class.\n        super.tearDown()\n    }\n    \n    func testExample() {\n        // This is an example of a functional test case.\n        XCTAssert(true, \"Pass\")\n    }\n    \n    func testPerformanceExample() {\n        // This is an example of a performance test case.\n        self.measure() {\n            // Put the code you want to measure the time of here.\n        }\n    }\n    \n}\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n    \n    var window: UIWindow?\n    \n    \n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        return true\n    }\n    \n    func applicationWillResignActive(_ application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n    }\n    \n    func applicationDidEnterBackground(_ application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n    \n    func applicationWillEnterForeground(_ application: UIApplication) {\n        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n    }\n    \n    func applicationDidBecomeActive(_ application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n    \n    func applicationWillTerminate(_ application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n    \n    \n}\n\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Adam Fish. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFRCSwiftExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"7706\" systemVersion=\"14E46\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"pXo-YP-FSY\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"7703\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"cL0-iK-sWE\">\n            <objects>\n                <tableViewController id=\"yyu-CO-Dz7\" customClass=\"MainTableViewController\" customModule=\"RBQFRCSwiftExample\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"dCj-zO-BDh\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"dcx-cS-C9p\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"dcx-cS-C9p\" id=\"4hg-bj-pBs\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"yyu-CO-Dz7\" id=\"ynJ-Ad-3Kd\"/>\n                            <outlet property=\"delegate\" destination=\"yyu-CO-Dz7\" id=\"Hx8-ze-i3N\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"znT-Ji-xt8\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"tzS-tI-GD3\">\n                            <connections>\n                                <action selector=\"didPressDeleteButton:\" destination=\"yyu-CO-Dz7\" id=\"FBd-zO-Cve\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"cXN-uD-s4R\">\n                            <connections>\n                                <action selector=\"didPressInsertButton:\" destination=\"yyu-CO-Dz7\" id=\"RCy-bO-2jZ\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"sm2-n8-gx5\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"117\" y=\"69\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"H0u-et-eki\">\n            <objects>\n                <navigationController id=\"pXo-YP-FSY\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"zO6-wD-avS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"yyu-CO-Dz7\" kind=\"relationship\" relationship=\"rootViewController\" id=\"meQ-CU-ag3\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"NkK-Nm-AHE\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-703\" y=\"69\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"83.5x83.5\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample/MainTableViewController.swift",
    "content": "//\n//  MainTableViewController.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/31/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\nimport Realm\nimport RealmSwift\nimport SafeRealmObject\nimport SwiftFetchedResultsController\n\n// MARK: -\n\nclass TestObject: Object {\n    dynamic var title = \"\"\n    \n    dynamic var sortIndex = 0\n    \n    dynamic var sectionName = \"\"\n    \n    dynamic var key = \"\"\n    \n    dynamic var inTable: Bool = false\n    \n    override class func primaryKey() -> String? {\n        return \"key\"\n    }\n    \n    class func testObject(_ title: String, sortIndex: Int, inTable: Bool) -> TestObject {\n        let object = TestObject()\n        \n        object.title = title\n        object.sortIndex = sortIndex\n        object.inTable = inTable\n        \n        object.key = \"\\(title)\\(sortIndex)\"\n        \n        return object\n    }\n}\n\n// MARK: -\n\nclass MainTableViewController: UITableViewController {\n    \n    var fetchedResultsController: FetchedResultsController<TestObject>?\n    \n    var realm: Realm?\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        let realm = try! Realm(configuration: Realm.Configuration(inMemoryIdentifier: \"Test\"))\n        \n        self.realm = realm\n        \n        realm.beginWrite()\n        \n        realm.deleteAll()\n        \n        for index in 1...1000 {\n            \n            let title = \"Cell \\(index)\"\n            \n            let object = TestObject.testObject(title, sortIndex: index, inTable: true)\n            \n            if (index < 10) {\n                object.sectionName = \"First Section\"\n            }\n            else {\n                object.sectionName = \"Second Section\"\n            }\n            \n            realm.add(object, update: false)\n        }\n        \n        try! realm.commitWrite()\n        \n        let predicate = NSPredicate(format: \"inTable = YES\")\n        \n        let fetchRequest = FetchRequest<TestObject>(realm: realm, predicate: predicate)\n        \n        let sortDescriptor = SortDescriptor(property: \"sortIndex\", ascending: true)\n        \n        let sortDescriptorSection = SortDescriptor(property: \"sectionName\", ascending: true)\n        \n        fetchRequest.sortDescriptors = [sortDescriptorSection, sortDescriptor]\n        \n        self.fetchedResultsController = FetchedResultsController<TestObject>(fetchRequest: fetchRequest, sectionNameKeyPath: \"sectionName\", cacheName: \"testCache\")\n        \n        self.fetchedResultsController!.delegate = self\n        \n        let _ = self.fetchedResultsController!.performFetch()\n    }\n    \n    override func didReceiveMemoryWarning() {\n        super.didReceiveMemoryWarning()\n        // Dispose of any resources that can be recreated.\n    }\n    \n    // MARK: - Table view data source\n    \n    override func numberOfSections(in tableView: UITableView) -> Int {\n        \n        return self.fetchedResultsController!.numberOfSections()\n    }\n    \n    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        \n        return self.fetchedResultsController!.numberOfRowsForSectionIndex(section)\n    }\n    \n    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {\n        return self.fetchedResultsController!.titleForHeaderInSection(section)\n    }\n    \n    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        let cell = tableView.dequeueReusableCell(withIdentifier: \"customCell\", for: indexPath)\n        \n        // Configure the cell...\n        \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPath)\n        \n        cell.textLabel?.text = object?.title\n        \n        return cell\n    }\n    \n    // Override to support conditional editing of the table view.\n    override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {\n        // Return NO if you do not want the specified item to be editable.\n        return true\n    }\n    \n    // Override to support editing the table view.\n    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {\n        if editingStyle == .delete {\n            // Delete the row from the data source\n            self.deleteObjectAtIndexPath(indexPath)\n        } else if editingStyle == .insert {\n            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        }\n    }\n    \n    // MARK: - Button Actions\n    \n    @IBAction func didPressInsertButton(_ sender: UIBarButtonItem) {\n        self.insertObject()\n    }\n    @IBAction func didPressDeleteButton(_ sender: UIBarButtonItem) {\n        \n        let objectsInFirstSection = self.realm!.objects(TestObject.self).filter(\"%K == %@\", \"sectionName\",\"First Section\")\n        \n        try! self.realm!.write { () -> Void in\n            self.realm!.delete(objectsInFirstSection)\n        }\n    }\n    \n    // MARK: - Private\n    \n    fileprivate func deleteObjectAtIndexPath(_ indexPath: IndexPath) {\n        if let object = self.fetchedResultsController?.objectAtIndexPath(indexPath) {\n            \n            let realm = self.realm!\n            \n            try! realm.write({ () -> Void in\n                realm.delete(object)\n            })\n        }\n    }\n    \n    fileprivate func insertObject() {\n        \n        let realm = self.realm!\n        \n        let indexPathFirstRow = IndexPath(row: 0, section: 0)\n        \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n        \n        if (object?.sortIndex)! > 0 {\n            realm.beginWrite()\n            \n            let sortIndex = object!.sortIndex - 1\n            \n            let title = \"Cell \\(sortIndex)\"\n            \n            var newObject = realm.object(ofType: TestObject.self, forPrimaryKey: \"\\(title)\\(sortIndex)\" as AnyObject)\n            \n            if newObject == nil {\n                newObject = TestObject()\n                newObject!.title = title\n                newObject!.sortIndex = sortIndex\n                newObject!.sectionName = \"First Section\"\n                newObject!.key = \"\\(title)\\(sortIndex)\"\n                newObject!.inTable = true\n                \n                realm.add(newObject!, update: false)\n            }\n            else {\n                newObject?.inTable = true\n            }\n            \n            try! realm.commitWrite()\n        }\n        else { // Test Moves\n            realm.beginWrite()\n            \n            let indexPathFifthRow = IndexPath(row: 5, section: 0)\n            let indexPathThirdRow = IndexPath(row: 3, section: 0)\n            let indexPathSixthRow = IndexPath(row: 6, section: 0)\n            let indexPathFirstRow = IndexPath(row: 0, section: 0)\n            \n            let firstObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n            let thirdObject = self.fetchedResultsController?.objectAtIndexPath(indexPathThirdRow)\n            let fifthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFifthRow)\n            let sixthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathSixthRow)\n            let ninthObject = realm.objects(TestObject.self).filter(\"%K == %@\", \"title\",\"Cell 9\")\n            \n            fifthObject?.sortIndex += 1\n            \n            sixthObject?.sortIndex -= 1\n            \n            firstObject?.inTable = false\n            \n            thirdObject?.title = \"Testing Move And Update\"\n            \n            if let testObject = ninthObject.first {\n                \n                if testObject.sectionName == \"First Section\" {\n                    testObject.sectionName = \"Second Section\"\n                }\n                else {\n                    testObject.sectionName = \"First Section\"\n                }\n            }\n            \n            try! realm.commitWrite()\n        }\n    }\n}\n\n// MARK: -\n\nextension MainTableViewController: FetchedResultsControllerDelegate {\n    \n    func controllerWillChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.beginUpdates()\n    }\n    \n    public func controller<T : Object>(_ controller: FetchedResultsController<T>, didChangeObject anObject: SafeObject<T>, atIndexPath indexPath: IndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {\n        \n        let tableView = self.tableView\n        \n        switch type {\n            \n        case .insert:\n            tableView?.insertRows(at: [newIndexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .delete:\n            tableView?.deleteRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .update:\n            tableView?.reloadRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .move:\n            tableView?.deleteRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            tableView?.insertRows(at: [newIndexPath!], with: UITableViewRowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeSection<T : Object>(_ controller: FetchedResultsController<T>, section: FetchResultsSectionInfo<T>, sectionIndex: UInt, changeType: NSFetchedResultsChangeType) {\n        \n        let tableView = self.tableView\n        \n        if changeType == NSFetchedResultsChangeType.insert {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.insertSections(indexSet, with: UITableViewRowAnimation.fade)\n        }\n        else if changeType == NSFetchedResultsChangeType.delete {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.deleteSections(indexSet, with: UITableViewRowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.endUpdates()\n    }\n}\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */; };\n\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F11B6185AE0000C9B2 /* Main.storyboard */; };\n\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F41B6185AE0000C9B2 /* Images.xcassets */; };\n\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */; };\n\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */; };\n\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0AB74611B6C389700923940 /* MainTableViewController.swift */; };\n\t\tA0BC27C21C56DA8D00306449 /* Realm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27C01C56DA8D00306449 /* Realm.framework */; };\n\t\tA0BC27C31C56DA8D00306449 /* Realm.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27C01C56DA8D00306449 /* Realm.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tA0BC27C41C56DA8D00306449 /* RealmSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27C11C56DA8D00306449 /* RealmSwift.framework */; };\n\t\tA0BC27C51C56DA8D00306449 /* RealmSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27C11C56DA8D00306449 /* RealmSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC501DF6BE8B00A85A48 /* RBQFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27BA1C56DA7500306449 /* RBQFetchedResultsController.framework */; };\n\t\tF9C9CC511DF6BE8B00A85A48 /* RBQFetchedResultsController.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0BC27BA1C56DA7500306449 /* RBQFetchedResultsController.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC541DF6BE8B00A85A48 /* SwiftFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A090E5D41C73B3B60046788B /* SwiftFetchedResultsController.framework */; };\n\t\tF9C9CC551DF6BE8B00A85A48 /* SwiftFetchedResultsController.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A090E5D41C73B3B60046788B /* SwiftFetchedResultsController.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC5C1DF6BEB300A85A48 /* RBQSafeRealmObject.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC581DF6BEAC00A85A48 /* RBQSafeRealmObject.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC601DF6BEB300A85A48 /* SafeRealmObject.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC5A1DF6BEAC00A85A48 /* SafeRealmObject.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\tF9C9CC661DF71C1500A85A48 /* RealmUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC591DF6BEAC00A85A48 /* RealmUtilities.framework */; };\n\t\tF9C9CC671DF71C1500A85A48 /* RealmUtilities.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC591DF6BEAC00A85A48 /* RealmUtilities.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tA05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A05FA4E01B6185AE0000C9B2 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = A05FA4E71B6185AE0000C9B2;\n\t\t\tremoteInfo = RBQFRCSwiftExample;\n\t\t};\n\t\tA090E5CF1C73B3B50046788B /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = A090E59F1C73B17B0046788B;\n\t\t\tremoteInfo = SwiftFetchedResultsController;\n\t\t};\n\t\tA090E5D31C73B3B60046788B /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = A090E5A01C73B17B0046788B;\n\t\t\tremoteInfo = SwiftFetchedResultsController;\n\t\t};\n\t\tA0BC27B91C56DA7500306449 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 6361D7341C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tA0BC27BB1C56DA7500306449 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 6361D73E1C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsControllerTests;\n\t\t};\n\t\tA0BC27BD1C56DA7C00306449 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tF9C9CC521DF6BE8B00A85A48 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n\t\tF9C9CC561DF6BE8B00A85A48 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = A090E59F1C73B17B0046788B;\n\t\t\tremoteInfo = SwiftFetchedResultsController;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\tF9C9CC5C1DF6BEB300A85A48 /* RBQSafeRealmObject.framework in Embed Frameworks */,\n\t\t\t\tA0BC27C51C56DA8D00306449 /* RealmSwift.framework in Embed Frameworks */,\n\t\t\t\tF9C9CC551DF6BE8B00A85A48 /* SwiftFetchedResultsController.framework in Embed Frameworks */,\n\t\t\t\tF9C9CC671DF71C1500A85A48 /* RealmUtilities.framework in Embed Frameworks */,\n\t\t\t\tF9C9CC601DF6BEB300A85A48 /* SafeRealmObject.framework in Embed Frameworks */,\n\t\t\t\tF9C9CC511DF6BE8B00A85A48 /* RBQFetchedResultsController.framework in Embed Frameworks */,\n\t\t\t\tA0BC27C31C56DA8D00306449 /* Realm.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFRCSwiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tA05FA4F21B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tA05FA4F71B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFRCSwiftExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RBQFRCSwiftExampleTests.swift; sourceTree = \"<group>\"; };\n\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTableViewController.swift; sourceTree = \"<group>\"; };\n\t\tA0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = RBQFetchedResultsController.xcodeproj; path = ../../RBQFetchedResultsController.xcodeproj; sourceTree = \"<group>\"; };\n\t\tA0BC27C01C56DA8D00306449 /* Realm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Realm.framework; path = ../../Carthage/Build/iOS/Realm.framework; sourceTree = \"<group>\"; };\n\t\tA0BC27C11C56DA8D00306449 /* RealmSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealmSwift.framework; path = ../../Carthage/Build/iOS/RealmSwift.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC581DF6BEAC00A85A48 /* RBQSafeRealmObject.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RBQSafeRealmObject.framework; path = ../../Carthage/Build/iOS/RBQSafeRealmObject.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC591DF6BEAC00A85A48 /* RealmUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealmUtilities.framework; path = ../../Carthage/Build/iOS/RealmUtilities.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC5A1DF6BEAC00A85A48 /* SafeRealmObject.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SafeRealmObject.framework; path = ../../Carthage/Build/iOS/SafeRealmObject.framework; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0BC27C21C56DA8D00306449 /* Realm.framework in Frameworks */,\n\t\t\t\tF9C9CC661DF71C1500A85A48 /* RealmUtilities.framework in Frameworks */,\n\t\t\t\tF9C9CC541DF6BE8B00A85A48 /* SwiftFetchedResultsController.framework in Frameworks */,\n\t\t\t\tF9C9CC501DF6BE8B00A85A48 /* RBQFetchedResultsController.framework in Frameworks */,\n\t\t\t\tA0BC27C41C56DA8D00306449 /* RealmSwift.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t8BEDE2E49A674D438DD0CE47 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF9C9CC581DF6BEAC00A85A48 /* RBQSafeRealmObject.framework */,\n\t\t\t\tF9C9CC591DF6BEAC00A85A48 /* RealmUtilities.framework */,\n\t\t\t\tF9C9CC5A1DF6BEAC00A85A48 /* SafeRealmObject.framework */,\n\t\t\t\tA0BC27C01C56DA8D00306449 /* Realm.framework */,\n\t\t\t\tA0BC27C11C56DA8D00306449 /* RealmSwift.framework */,\n\t\t\t\tA0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4DF1B6185AE0000C9B2 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t\tA05FA4E91B6185AE0000C9B2 /* Products */,\n\t\t\t\t8BEDE2E49A674D438DD0CE47 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4E91B6185AE0000C9B2 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */,\n\t\t\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */,\n\t\t\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */,\n\t\t\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */,\n\t\t\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */,\n\t\t\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */,\n\t\t\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */,\n\t\t\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0BC27B51C56DA7500306449 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0BC27BA1C56DA7500306449 /* RBQFetchedResultsController.framework */,\n\t\t\t\tA0BC27BC1C56DA7500306449 /* RBQFetchedResultsController.xctest */,\n\t\t\t\tA090E5D41C73B3B60046788B /* SwiftFetchedResultsController.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tA05FA4E41B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4E61B6185AE0000C9B2 /* Resources */,\n\t\t\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA090E5D01C73B3B50046788B /* PBXTargetDependency */,\n\t\t\t\tA0BC27BE1C56DA7C00306449 /* PBXTargetDependency */,\n\t\t\t\tF9C9CC531DF6BE8B00A85A48 /* PBXTargetDependency */,\n\t\t\t\tF9C9CC571DF6BE8B00A85A48 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExample;\n\t\t\tproductName = RBQFRCSwiftExample;\n\t\t\tproductReference = A05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0BAC064F8923B4D07295C7EB /* Check Pods Manifest.lock */,\n\t\t\t\tA05FA4F91B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */,\n\t\t\t\t3CFF26782BB12C184090942C /* Embed Pods Frameworks */,\n\t\t\t\t8D7C6A3CCEEAE266BF7667B9 /* Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExampleTests;\n\t\t\tproductName = RBQFRCSwiftExampleTests;\n\t\t\tproductReference = A05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tA05FA4E01B6185AE0000C9B2 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0700;\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = \"Adam Fish\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tA05FA4E71B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t};\n\t\t\t\t\tA05FA4FC1B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t\tTestTargetID = A05FA4E71B6185AE0000C9B2;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = A05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = A05FA4DF1B6185AE0000C9B2;\n\t\t\tproductRefGroup = A05FA4E91B6185AE0000C9B2 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectReferences = (\n\t\t\t\t{\n\t\t\t\t\tProductGroup = A0BC27B51C56DA7500306449 /* Products */;\n\t\t\t\t\tProjectRef = A0BC27B41C56DA7500306449 /* RBQFetchedResultsController.xcodeproj */;\n\t\t\t\t},\n\t\t\t);\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXReferenceProxy section */\n\t\tA090E5D41C73B3B60046788B /* SwiftFetchedResultsController.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = SwiftFetchedResultsController.framework;\n\t\t\tremoteRef = A090E5D31C73B3B60046788B /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tA0BC27BA1C56DA7500306449 /* RBQFetchedResultsController.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = RBQFetchedResultsController.framework;\n\t\t\tremoteRef = A0BC27B91C56DA7500306449 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tA0BC27BC1C56DA7500306449 /* RBQFetchedResultsController.xctest */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.cfbundle;\n\t\t\tpath = RBQFetchedResultsController.xctest;\n\t\t\tremoteRef = A0BC27BB1C56DA7500306449 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n/* End PBXReferenceProxy section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tA05FA4E61B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */,\n\t\t\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */,\n\t\t\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0BAC064F8923B4D07295C7EB /* Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [[ $? != 0 ]] ; then\\n    cat << EOM\\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\nEOM\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t3CFF26782BB12C184090942C /* Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8D7C6A3CCEEAE266BF7667B9 /* Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tA05FA4E41B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */,\n\t\t\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4F91B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = A05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */;\n\t\t\ttargetProxy = A05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */;\n\t\t};\n\t\tA090E5D01C73B3B50046788B /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = SwiftFetchedResultsController;\n\t\t\ttargetProxy = A090E5CF1C73B3B50046788B /* PBXContainerItemProxy */;\n\t\t};\n\t\tA0BC27BE1C56DA7C00306449 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = RBQFetchedResultsController;\n\t\t\ttargetProxy = A0BC27BD1C56DA7C00306449 /* PBXContainerItemProxy */;\n\t\t};\n\t\tF9C9CC531DF6BE8B00A85A48 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = RBQFetchedResultsController;\n\t\t\ttargetProxy = F9C9CC521DF6BE8B00A85A48 /* PBXContainerItemProxy */;\n\t\t};\n\t\tF9C9CC571DF6BE8B00A85A48 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = SwiftFetchedResultsController;\n\t\t\ttargetProxy = F9C9CC561DF6BE8B00A85A48 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F21B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F71B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tA05FA5051B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5061B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA5081B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t../../Carthage/Build/iOS/,\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5091B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t../../Carthage/Build/iOS/,\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA50B1B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA50C1B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tA05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5051B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5061B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5081B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5091B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA50B1B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA50C1B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = A05FA4E01B6185AE0000C9B2 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift-carthage/RBQFRCSwiftExampleTests/RBQFRCSwiftExampleTests.swift",
    "content": "//\n//  RBQFRCSwiftExampleTests.swift\n//  RBQFRCSwiftExampleTests\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\nimport XCTest\n\nclass RBQFRCSwiftExampleTests: XCTestCase {\n    \n    override func setUp() {\n        super.setUp()\n        // Put setup code here. This method is called before the invocation of each test method in the class.\n    }\n    \n    override func tearDown() {\n        // Put teardown code here. This method is called after the invocation of each test method in the class.\n        super.tearDown()\n    }\n    \n    func testExample() {\n        // This is an example of a functional test case.\n        XCTAssert(true, \"Pass\")\n    }\n    \n    func testPerformanceExample() {\n        // This is an example of a performance test case.\n        self.measure() {\n            // Put the code you want to measure the time of here.\n        }\n    }\n    \n}\n"
  },
  {
    "path": "Examples/Swift-cocoapods/.swift-version",
    "content": "3.0.1\n"
  },
  {
    "path": "Examples/Swift-cocoapods/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '8.0'\n\nuse_frameworks!\n\ntarget 'RBQFRCSwiftExample' do\n  pod 'RBQFetchedResultsController', path: '../../'\n  pod 'SwiftFetchedResultsController', path: '../../'\n\n  target 'RBQFRCSwiftExampleTests' do\n    inherit! :search_paths\n  end\nend\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n\n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        return true\n    }\n\n    func applicationWillResignActive(_ application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n    }\n\n    func applicationDidEnterBackground(_ application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n\n    func applicationWillEnterForeground(_ application: UIApplication) {\n        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n    }\n\n    func applicationDidBecomeActive(_ application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillTerminate(_ application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"  Copyright (c) 2015 Adam Fish. All rights reserved.\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"RBQFRCSwiftExample\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"7706\" systemVersion=\"14E46\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"pXo-YP-FSY\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"7703\"/>\n    </dependencies>\n    <scenes>\n        <!--Root View Controller-->\n        <scene sceneID=\"cL0-iK-sWE\">\n            <objects>\n                <tableViewController id=\"yyu-CO-Dz7\" customClass=\"MainTableViewController\" customModule=\"RBQFRCSwiftExample\" sceneMemberID=\"viewController\">\n                    <tableView key=\"view\" clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"44\" sectionHeaderHeight=\"22\" sectionFooterHeight=\"22\" id=\"dCj-zO-BDh\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <prototypes>\n                            <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"customCell\" id=\"dcx-cS-C9p\">\n                                <autoresizingMask key=\"autoresizingMask\"/>\n                                <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"dcx-cS-C9p\" id=\"4hg-bj-pBs\">\n                                    <autoresizingMask key=\"autoresizingMask\"/>\n                                </tableViewCellContentView>\n                            </tableViewCell>\n                        </prototypes>\n                        <connections>\n                            <outlet property=\"dataSource\" destination=\"yyu-CO-Dz7\" id=\"ynJ-Ad-3Kd\"/>\n                            <outlet property=\"delegate\" destination=\"yyu-CO-Dz7\" id=\"Hx8-ze-i3N\"/>\n                        </connections>\n                    </tableView>\n                    <navigationItem key=\"navigationItem\" title=\"Root View Controller\" id=\"znT-Ji-xt8\">\n                        <barButtonItem key=\"leftBarButtonItem\" title=\"Delete\" id=\"tzS-tI-GD3\">\n                            <connections>\n                                <action selector=\"didPressDeleteButton:\" destination=\"yyu-CO-Dz7\" id=\"FBd-zO-Cve\"/>\n                            </connections>\n                        </barButtonItem>\n                        <barButtonItem key=\"rightBarButtonItem\" title=\"Insert\" id=\"cXN-uD-s4R\">\n                            <connections>\n                                <action selector=\"didPressInsertButton:\" destination=\"yyu-CO-Dz7\" id=\"RCy-bO-2jZ\"/>\n                            </connections>\n                        </barButtonItem>\n                    </navigationItem>\n                </tableViewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"sm2-n8-gx5\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"117\" y=\"69\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"H0u-et-eki\">\n            <objects>\n                <navigationController id=\"pXo-YP-FSY\" sceneMemberID=\"viewController\">\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"zO6-wD-avS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"yyu-CO-Dz7\" kind=\"relationship\" relationship=\"rootViewController\" id=\"meQ-CU-ag3\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"NkK-Nm-AHE\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-703\" y=\"69\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/MainTableViewController.swift",
    "content": "//\n//  MainTableViewController.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/31/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport Realm\nimport RealmSwift\nimport SafeRealmObject\nimport SwiftFetchedResultsController\nimport UIKit\n\n// MARK: -\n\nclass TestObject: Object {\n    dynamic var title = \"\"\n    \n    dynamic var sortIndex = 0\n    \n    dynamic var sectionName = \"\"\n    \n    dynamic var key = \"\"\n    \n    dynamic var inTable: Bool = false\n    \n    override class func primaryKey() -> String? {\n        return \"key\"\n    }\n    \n    class func testObject(_ title: String, sortIndex: Int, inTable: Bool) -> TestObject {\n        let object = TestObject()\n        \n        object.title = title\n        object.sortIndex = sortIndex\n        object.inTable = inTable\n        \n        object.key = \"\\(title)\\(sortIndex)\"\n        \n        return object\n    }\n}\n\n// MARK: -\n\nclass MainTableViewController: UITableViewController {\n    \n    var fetchedResultsController: FetchedResultsController<TestObject>?\n    \n    var realm: Realm?\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        let realm = try! Realm(configuration: Realm.Configuration(inMemoryIdentifier: \"Test\"))\n        \n        self.realm = realm\n        \n        realm.beginWrite()\n        \n        realm.deleteAll()\n        \n        for index in 1...1000 {\n            \n            let title = \"Cell \\(index)\"\n            \n            let object = TestObject.testObject(title, sortIndex: index, inTable: true)\n            \n            if (index < 10) {\n                object.sectionName = \"First Section\"\n            }\n            else {\n                object.sectionName = \"Second Section\"\n            }\n            \n            realm.add(object, update: false)\n        }\n        \n        try! realm.commitWrite()\n        \n        let predicate = NSPredicate(format: \"inTable = YES\")\n        \n        let fetchRequest = FetchRequest<TestObject>(realm: realm, predicate: predicate)\n        \n        let sortDescriptor = SortDescriptor(property: \"sortIndex\", ascending: true)\n        \n        let sortDescriptorSection = SortDescriptor(property: \"sectionName\", ascending: true)\n        \n        fetchRequest.sortDescriptors = [sortDescriptorSection, sortDescriptor]\n        \n        self.fetchedResultsController = FetchedResultsController<TestObject>(fetchRequest: fetchRequest, sectionNameKeyPath: \"sectionName\", cacheName: \"testCache\")\n        \n        self.fetchedResultsController!.delegate = self\n        \n        let _ = self.fetchedResultsController!.performFetch()\n    }\n    \n    override func didReceiveMemoryWarning() {\n        super.didReceiveMemoryWarning()\n        // Dispose of any resources that can be recreated.\n    }\n    \n    // MARK: - Table view data source\n    \n    override func numberOfSections(in tableView: UITableView) -> Int {\n        \n        return self.fetchedResultsController!.numberOfSections()\n    }\n    \n    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        \n        return self.fetchedResultsController!.numberOfRowsForSectionIndex(section)\n    }\n    \n    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {\n        return self.fetchedResultsController!.titleForHeaderInSection(section)\n    }\n    \n    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        let cell = tableView.dequeueReusableCell(withIdentifier: \"customCell\", for: indexPath)\n        \n        // Configure the cell...\n        \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPath)\n        \n        cell.textLabel?.text = object?.title\n        \n        return cell\n    }\n    \n    // Override to support conditional editing of the table view.\n    override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {\n        // Return NO if you do not want the specified item to be editable.\n        return true\n    }\n    \n    // Override to support editing the table view.\n    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {\n        if editingStyle == .delete {\n            // Delete the row from the data source\n            self.deleteObjectAtIndexPath(indexPath)\n        } else if editingStyle == .insert {\n            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view\n        }\n    }\n    \n    // MARK: - Button Actions\n    \n    @IBAction func didPressInsertButton(_ sender: UIBarButtonItem) {\n        self.insertObject()\n    }\n    @IBAction func didPressDeleteButton(_ sender: UIBarButtonItem) {\n        \n        let objectsInFirstSection = self.realm!.objects(TestObject.self).filter(\"%K == %@\", \"sectionName\",\"First Section\")\n        \n        try! self.realm!.write { () -> Void in\n            self.realm!.delete(objectsInFirstSection)\n        }\n    }\n    \n    // MARK: - Private\n    \n    fileprivate func deleteObjectAtIndexPath(_ indexPath: IndexPath) {\n        if let object = self.fetchedResultsController?.objectAtIndexPath(indexPath) {\n            \n            let realm = self.realm!\n            \n            try! realm.write({ () -> Void in\n                realm.delete(object)\n            })\n        }\n    }\n    \n    fileprivate func insertObject() {\n        \n        let realm = self.realm!\n        \n        let indexPathFirstRow = IndexPath(row: 0, section: 0)\n        \n        let object = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n        \n        if (object?.sortIndex)! > 0 {\n            realm.beginWrite()\n            \n            let sortIndex = object!.sortIndex - 1\n            \n            let title = \"Cell \\(sortIndex)\"\n            \n            var newObject = realm.object(ofType: TestObject.self, forPrimaryKey: \"\\(title)\\(sortIndex)\" as AnyObject)\n            \n            if newObject == nil {\n                newObject = TestObject()\n                newObject!.title = title\n                newObject!.sortIndex = sortIndex\n                newObject!.sectionName = \"First Section\"\n                newObject!.key = \"\\(title)\\(sortIndex)\"\n                newObject!.inTable = true\n                \n                realm.add(newObject!, update: false)\n            }\n            else {\n                newObject?.inTable = true\n            }\n            \n            try! realm.commitWrite()\n        }\n        else { // Test Moves\n            realm.beginWrite()\n            \n            let indexPathFifthRow = IndexPath(row: 5, section: 0)\n            let indexPathThirdRow = IndexPath(row: 3, section: 0)\n            let indexPathSixthRow = IndexPath(row: 6, section: 0)\n            let indexPathFirstRow = IndexPath(row: 0, section: 0)\n            \n            let firstObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFirstRow)\n            let thirdObject = self.fetchedResultsController?.objectAtIndexPath(indexPathThirdRow)\n            let fifthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathFifthRow)\n            let sixthObject = self.fetchedResultsController?.objectAtIndexPath(indexPathSixthRow)\n            let ninthObject = realm.objects(TestObject.self).filter(\"%K == %@\", \"title\",\"Cell 9\")\n            \n            fifthObject?.sortIndex += 1\n            \n            sixthObject?.sortIndex -= 1\n            \n            firstObject?.inTable = false\n            \n            thirdObject?.title = \"Testing Move And Update\"\n            \n            if let testObject = ninthObject.first {\n                \n                if testObject.sectionName == \"First Section\" {\n                    testObject.sectionName = \"Second Section\"\n                }\n                else {\n                    testObject.sectionName = \"First Section\"\n                }\n            }\n            \n            try! realm.commitWrite()\n        }\n    }\n}\n\n// MARK: -\n\nextension MainTableViewController: FetchedResultsControllerDelegate {\n    \n    func controllerWillChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.beginUpdates()\n    }\n    \n    public func controller<T : Object>(_ controller: FetchedResultsController<T>, didChangeObject anObject: SafeObject<T>, atIndexPath indexPath: IndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {\n        \n        let tableView = self.tableView\n        \n        switch type {\n            \n        case .insert:\n            tableView?.insertRows(at: [newIndexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .delete:\n            tableView?.deleteRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .update:\n            tableView?.reloadRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            \n        case .move:\n            tableView?.deleteRows(at: [indexPath!], with: UITableViewRowAnimation.fade)\n            tableView?.insertRows(at: [newIndexPath!], with: UITableViewRowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeSection<T : Object>(_ controller: FetchedResultsController<T>, section: FetchResultsSectionInfo<T>, sectionIndex: UInt, changeType: NSFetchedResultsChangeType) {\n        \n        let tableView = self.tableView\n        \n        if changeType == NSFetchedResultsChangeType.insert {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.insertSections(indexSet, with: UITableViewRowAnimation.fade)\n        }\n        else if changeType == NSFetchedResultsChangeType.delete {\n            \n            let indexSet = IndexSet(integer: Int(sectionIndex))\n            \n            tableView?.deleteSections(indexSet, with: UITableViewRowAnimation.fade)\n        }\n    }\n    \n    func controllerDidChangeContent<T : Object>(_ controller: FetchedResultsController<T>) {\n        self.tableView.endUpdates()\n    }\n}\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample/RBQFRCSwift-BridgingHeader.h",
    "content": "//\n//  RBQFRCSwift-BridgingHeader.h\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\n#import \"RBQFetchedResultsController.h\"\n#import \"RBQFetchRequest.h\"\n#import \"RBQSafeRealmObject.h\"\n#import \"RBQRealmNotificationManager.h\"\n#import \"RLMObjectBase+Utilities.h\"\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExample.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t18F44CFF107A2EE1082DC0AA /* Pods_RBQFRCSwiftExampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 562846FB89DF75BB0D5CA170 /* Pods_RBQFRCSwiftExampleTests.framework */; };\n\t\t7548BB4B03843909EDE10894 /* Pods_RBQFRCSwiftExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18BC486F316E6B828A15ECBB /* Pods_RBQFRCSwiftExample.framework */; };\n\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */; };\n\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F11B6185AE0000C9B2 /* Main.storyboard */; };\n\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F41B6185AE0000C9B2 /* Images.xcassets */; };\n\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = A05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */; };\n\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */; };\n\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0AB74611B6C389700923940 /* MainTableViewController.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tA05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = A05FA4E01B6185AE0000C9B2 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = A05FA4E71B6185AE0000C9B2;\n\t\t\tremoteInfo = RBQFRCSwiftExample;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t18BC486F316E6B828A15ECBB /* Pods_RBQFRCSwiftExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RBQFRCSwiftExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t4E1FCB9E207C119C0AE0ED70 /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExampleTests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t562846FB89DF75BB0D5CA170 /* Pods_RBQFRCSwiftExampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RBQFRCSwiftExampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8DA8E0C988E77F16403017FF /* Pods-RBQFRCSwiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExample.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RBQFRCSwiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tA05FA4F21B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tA05FA4F71B6185AE0000C9B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFRCSwiftExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RBQFRCSwiftExampleTests.swift; sourceTree = \"<group>\"; };\n\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTableViewController.swift; sourceTree = \"<group>\"; };\n\t\tA9AE666DAD240A473FD1FCE6 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExampleTests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tE3A3DB9B3608D864C439B8F3 /* Pods-RBQFRCSwiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RBQFRCSwiftExample.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample.release.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t7548BB4B03843909EDE10894 /* Pods_RBQFRCSwiftExample.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F44CFF107A2EE1082DC0AA /* Pods_RBQFRCSwiftExampleTests.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tA05FA4DF1B6185AE0000C9B2 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t\tA05FA4E91B6185AE0000C9B2 /* Products */,\n\t\t\t\tE2093C6F1F033BAA11FDF6E3 /* Pods */,\n\t\t\t\tEE8DED9C032A84D2CE496A23 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4E91B6185AE0000C9B2 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */,\n\t\t\t\tA05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EA1B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4ED1B6185AE0000C9B2 /* AppDelegate.swift */,\n\t\t\t\tA0AB74611B6C389700923940 /* MainTableViewController.swift */,\n\t\t\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */,\n\t\t\t\tA05FA4F41B6185AE0000C9B2 /* Images.xcassets */,\n\t\t\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */,\n\t\t\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExample;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4EB1B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4EC1B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5001B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5031B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift */,\n\t\t\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RBQFRCSwiftExampleTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA5011B6185AE0000C9B2 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA5021B6185AE0000C9B2 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE2093C6F1F033BAA11FDF6E3 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8DA8E0C988E77F16403017FF /* Pods-RBQFRCSwiftExample.debug.xcconfig */,\n\t\t\t\tE3A3DB9B3608D864C439B8F3 /* Pods-RBQFRCSwiftExample.release.xcconfig */,\n\t\t\t\t4E1FCB9E207C119C0AE0ED70 /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */,\n\t\t\t\tA9AE666DAD240A473FD1FCE6 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tEE8DED9C032A84D2CE496A23 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18BC486F316E6B828A15ECBB /* Pods_RBQFRCSwiftExample.framework */,\n\t\t\t\t562846FB89DF75BB0D5CA170 /* Pods_RBQFRCSwiftExampleTests.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tF5EB15E6E676C45D569CB3A1 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tA05FA4E41B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4E51B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4E61B6185AE0000C9B2 /* Resources */,\n\t\t\t\tA05FA5131B6185F30000C9B2 /* Embed Frameworks */,\n\t\t\t\t1272F9283761A1492F58E766 /* [CP] Embed Pods Frameworks */,\n\t\t\t\tA3258959C79BC2C3258342EF /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExample;\n\t\t\tproductName = RBQFRCSwiftExample;\n\t\t\tproductReference = A05FA4E81B6185AE0000C9B2 /* RBQFRCSwiftExample.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tA648BFA2463310F5310D64AA /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tA05FA4F91B6185AE0000C9B2 /* Sources */,\n\t\t\t\tA05FA4FA1B6185AE0000C9B2 /* Frameworks */,\n\t\t\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */,\n\t\t\t\tDFBEAACD9C329C1192D7B0CC /* [CP] Embed Pods Frameworks */,\n\t\t\t\t1D8579019880ED5696A66886 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFRCSwiftExampleTests;\n\t\t\tproductName = RBQFRCSwiftExampleTests;\n\t\t\tproductReference = A05FA4FD1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tA05FA4E01B6185AE0000C9B2 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0700;\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = \"Adam Fish\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tA05FA4E71B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t\tA05FA4FC1B6185AE0000C9B2 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t\tTestTargetID = A05FA4E71B6185AE0000C9B2;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = A05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = A05FA4DF1B6185AE0000C9B2;\n\t\t\tproductRefGroup = A05FA4E91B6185AE0000C9B2 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tA05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */,\n\t\t\t\tA05FA4FC1B6185AE0000C9B2 /* RBQFRCSwiftExampleTests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tA05FA4E61B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA4F31B6185AE0000C9B2 /* Main.storyboard in Resources */,\n\t\t\t\tA05FA4F81B6185AE0000C9B2 /* LaunchScreen.xib in Resources */,\n\t\t\t\tA05FA4F51B6185AE0000C9B2 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4FB1B6185AE0000C9B2 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t1272F9283761A1492F58E766 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t1D8579019880ED5696A66886 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA3258959C79BC2C3258342EF /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExample/Pods-RBQFRCSwiftExample-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA648BFA2463310F5310D64AA /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDFBEAACD9C329C1192D7B0CC /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RBQFRCSwiftExampleTests/Pods-RBQFRCSwiftExampleTests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tF5EB15E6E676C45D569CB3A1 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_ROOT}/../Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tA05FA4E41B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0AB74621B6C389700923940 /* MainTableViewController.swift in Sources */,\n\t\t\t\tA05FA4EE1B6185AE0000C9B2 /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA05FA4F91B6185AE0000C9B2 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA05FA5041B6185AE0000C9B2 /* RBQFRCSwiftExampleTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tA05FA4FF1B6185AE0000C9B2 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = A05FA4E71B6185AE0000C9B2 /* RBQFRCSwiftExample */;\n\t\t\ttargetProxy = A05FA4FE1B6185AE0000C9B2 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\tA05FA4F11B6185AE0000C9B2 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F21B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA05FA4F61B6185AE0000C9B2 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tA05FA4F71B6185AE0000C9B2 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tA05FA5051B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5061B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA5081B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 8DA8E0C988E77F16403017FF /* Pods-RBQFRCSwiftExample.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = \"$(inherited)\";\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/RBQFRCSwiftExample\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA5091B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = E3A3DB9B3608D864C439B8F3 /* Pods-RBQFRCSwiftExample.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = \"$(inherited)\";\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/RBQFRCSwiftExample\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExample/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OBJC_BRIDGING_HEADER = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA05FA50B1B6185AE0000C9B2 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4E1FCB9E207C119C0AE0ED70 /* Pods-RBQFRCSwiftExampleTests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA05FA50C1B6185AE0000C9B2 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = A9AE666DAD240A473FD1FCE6 /* Pods-RBQFRCSwiftExampleTests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tBUNDLE_LOADER = \"$(TEST_HOST)\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = \"$(inherited)\";\n\t\t\t\tINFOPLIST_FILE = RBQFRCSwiftExampleTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.Realm.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTEST_HOST = \"$(BUILT_PRODUCTS_DIR)/RBQFRCSwiftExample.app/RBQFRCSwiftExample\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tA05FA4E31B6185AE0000C9B2 /* Build configuration list for PBXProject \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5051B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5061B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA5071B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExample\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA5081B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA5091B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA05FA50A1B6185AE0000C9B2 /* Build configuration list for PBXNativeTarget \"RBQFRCSwiftExampleTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA05FA50B1B6185AE0000C9B2 /* Debug */,\n\t\t\t\tA05FA50C1B6185AE0000C9B2 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = A05FA4E01B6185AE0000C9B2 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExampleTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Swift-cocoapods/RBQFRCSwiftExampleTests/RBQFRCSwiftExampleTests.swift",
    "content": "//\n//  RBQFRCSwiftExampleTests.swift\n//  RBQFRCSwiftExampleTests\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport UIKit\nimport XCTest\n\nclass RBQFRCSwiftExampleTests: XCTestCase {\n    \n    override func setUp() {\n        super.setUp()\n        // Put setup code here. This method is called before the invocation of each test method in the class.\n    }\n    \n    override func tearDown() {\n        // Put teardown code here. This method is called after the invocation of each test method in the class.\n        super.tearDown()\n    }\n    \n    func testExample() {\n        // This is an example of a functional test case.\n        XCTAssert(true, \"Pass\")\n    }\n    \n    func testPerformanceExample() {\n        // This is an example of a performance test case.\n        self.measure() {\n            // Put the code you want to measure the time of here.\n        }\n    }\n    \n}\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Roobiq\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
  },
  {
    "path": "RBQFetchedResultsController/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "RBQFetchedResultsController/ModuleMapFile",
    "content": "framework module RBQFetchedResultsController {\numbrella header \"RBQFRC.h\"\n\nexport *\nmodule * { export * }\n}"
  },
  {
    "path": "RBQFetchedResultsController/RBQFRC.h",
    "content": "//\n//  RBQFRC.h\n//  RBQFetchedResultsController\n//\n//  Created by Atai Barkai on 1/8/16.\n//  Copyright © 2016 Atai Barkai. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n//! Project version number for RBQFetchedResultsControllerFramework.\nFOUNDATION_EXPORT double RBQFetchedResultsControllerFrameworkVersionNumber;\n\n//! Project version string for RBQFetchedResultsControllerFramework.\nFOUNDATION_EXPORT const unsigned char RBQFetchedResultsControllerFrameworkVersionString[];\n\n// RBQFetchedResultsController\n#import \"RBQFetchedResultsController.h\"\n#import \"RBQFetchRequest.h\"\n\n"
  },
  {
    "path": "RBQFetchedResultsController/RBQFetchedResultsControllerTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQControllerCacheObject.h",
    "content": "//\n//  RBQControllerCacheObject.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Realm/Realm.h>\n#import \"RBQSectionCacheObject.h\"\n\n/**\n Represents the current state of the FRC cache\n */\ntypedef NS_ENUM(NSUInteger, RBQControllerCacheState){\n    /**\n     Cache is ready\n     */\n    RBQControllerCacheStateReady,\n    /**\n     Cache is processing (if the app is forced closed in this state, the cache will be rebuilt)\n     */\n    RBQControllerCacheStateProcessing\n};\n\nRLM_ARRAY_TYPE(RBQSectionCacheObject)\n\n/**\n * Internal cache object used by RBQFetchedResultsController.\n *\n * @warning This class is not to be used external the RBQFetchedResultsController\n */\n@interface RBQControllerCacheObject : RLMObject\n\n/**\n *  Name for the cache\n */\n@property NSString *name;\n\n/**\n *  Hash for RBQFetchRequest to monitor if cache needs rebuilt\n */\n@property NSInteger fetchRequestHash;\n\n/**\n *  Used to track if the cache was processing while app is terminated\n *\n *  @warning If cache is not ready, when requested, it will be rebuilt (this can occur if the app is forced closed while the cache is processing.\n */\n@property NSInteger state DEPRECATED_MSG_ATTRIBUTE(\"Do not use.\");\n\n/**\n *  Used to track the current section name key path if any for the cache\n */\n@property NSString *sectionNameKeyPath;\n\n/**\n *  RBQSectionCacheObjects within cache\n */\n@property RLMArray<RBQSectionCacheObject> *sections;\n\n/**\n *  All RBQFetchedResultsCacheObjects in cache\n */\n@property RLMArray<RBQObjectCacheObject> *objects;\n\n/**\n *  Create RBQFetchedResultsControllerCacheObject with a name and RBQFetchRequest hash (both used for identification)\n *\n *  @param name The name of the cache\n *  @param hash A RBQFetchRequest hash used to identify the cache\n *\n *  @return A new instance of RBQFetchedResultsControllerCacheObject\n */\n+ (instancetype)cacheWithName:(NSString *)name\n             fetchRequestHash:(NSInteger)hash;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<RBQControllerCacheObject>\nRLM_ARRAY_TYPE(RBQControllerCacheObject)\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQControllerCacheObject.m",
    "content": "//\n//  RBQControllerCacheObject.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQControllerCacheObject.h\"\n\n@implementation RBQControllerCacheObject\n\n+ (instancetype)cacheWithName:(NSString *)name\n             fetchRequestHash:(NSInteger)hash\n{\n    RBQControllerCacheObject *cache = [[RBQControllerCacheObject alloc] init];\n    cache.name = name;\n    cache.fetchRequestHash = hash;\n    \n    return cache;\n}\n\n+ (NSString *)primaryKey\n{\n    return @\"name\";\n}\n\n+ (NSDictionary *)defaultPropertyValues\n{\n    return @{@\"sectionNameKeyPath\" : @\"\",\n             @\"state\" : @(RBQControllerCacheStateReady)};\n}\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQObjectCacheObject.h",
    "content": "//\n//  RBQObjectCacheObject.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <RBQSafeRealmObject/RBQSafeRealmObject.h>\n#import <Realm/Realm.h>\n\n@class RBQSectionCacheObject;\n\n/**\n * Internal object used by RBQFetchedResultsController.\n *\n * RBQObjectCacheObject represents the original RLMObject within the FRC cache.\n *\n *  @warning This class is not to be used external the RBQFetchedResultsController\n */\n@interface RBQObjectCacheObject : RLMObject <NSCopying>\n\n/**\n *  Original RLMObject class name\n */\n@property NSString *className;\n\n/**\n *  Primary key value represented as a string\n */\n@property NSString *primaryKeyStringValue;\n\n/**\n *  Primary key type (use to convert the string value if necessary)\n *\n * @warning Only supports RLMPropertyTypeInt and RLMPropertyTypeString, which are the only\n * supported Realm primary key types as of v0.90.5.\n */\n@property NSInteger primaryKeyType;\n\n/**\n *  Value for the section (i.e. the section name)\n */\n@property NSString *sectionKeyPathValue;\n\n/**\n *  Section for the cache object\n */\n@property RBQSectionCacheObject *section;\n\n/**\n *  Create RBQFetchedResultsCacheObject from RLMObject\n *\n *  @param object       RLMObject being represented in the cache\n *  @param sectionValue The section key path value for this object\n *\n *  @return A new instance of RBQFetchedResultsCacheObject\n */\n+ (instancetype)createCacheObjectWithObject:(RLMObjectBase *)object\n                        sectionKeyPathValue:(NSString *)sectionValue;\n\n/**\n *  Create RBQFetchedResultsCacheObject from RBQSafeObject\n *\n *  @param safeObject   RBQSafeRealmObject being represented in the cache\n *  @param sectionValue The section key path value for this object\n *\n *  @return A new instance of RBQFetchedResultsCacheObject\n */\n+ (instancetype)createCacheObjectWithSafeObject:(RBQSafeRealmObject *)safeObject\n                            sectionKeyPathValue:(NSString *)sectionValue;\n\n/**\n *  Retrieve RBQFetchedResultsCacheObject from a Realm instance from RLMObject\n *\n *  @param realm  The RLMRealm in which the cache object is persisted\n *  @param object The RLMObject that is represented by the cache object\n *\n *  @return A instance of RBQFetchedResultsCacheObject\n */\n+ (instancetype)cacheObjectInRealm:(RLMRealm *)realm\n                         forObject:(RLMObjectBase *)object;\n\n/**\n *  Retrieve RLMObject in given Realm instance for RBQFetchedResultsCacheObject\n *\n *  @param realm       The RLMRealm in which the cache object is persisted\n *  @param cacheObject The RBQObjectCacheObject representing the RLMObject\n *\n *  @return A instance of RLMObject\n */\n+ (RLMObject *)objectInRealm:(RLMRealm *)realm\n              forCacheObject:(RBQObjectCacheObject *)cacheObject;\n\n/**\n *  Retrieve the primary key value from the primary key string value\n *\n *  @return Instance of the original RLMObject's primary key value\n */\n- (id)primaryKeyValue;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<RBQObjectCacheObject>\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQObjectCacheObject.m",
    "content": "//\n//  RBQObjectCacheObject.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQObjectCacheObject.h\"\n#import \"RBQSectionCacheObject.h\"\n\n#import <Realm/RLMRealm_Dynamic.h>\n#import <Realm/RLMObjectBase_Dynamic.h>\n#import <Realm/RLMObjectSchema.h>\n#import <RealmUtilities/RLMObjectBase+Utilities.h>\n\n@implementation RBQObjectCacheObject\n\n#pragma mark - Public Class\n\n+ (instancetype)createCacheObjectWithObject:(RLMObjectBase *)object\n                        sectionKeyPathValue:(NSString *)sectionValue\n{\n    RBQObjectCacheObject *cacheObject = [[RBQObjectCacheObject alloc] init];\n    \n    RLMObjectSchema *objectSchema = RLMObjectBaseObjectSchema(object);\n    \n    cacheObject.primaryKeyType = objectSchema.primaryKeyProperty.type;\n    cacheObject.sectionKeyPathValue = sectionValue;\n    cacheObject.className = [[object class] className];\n    \n    id primaryKeyValue = [RLMObjectBase primaryKeyValueForObject:object];\n    \n    if (cacheObject.primaryKeyType == RLMPropertyTypeString) {\n        cacheObject.primaryKeyStringValue = (NSString *)primaryKeyValue;\n    }\n    else if (cacheObject.primaryKeyType == RLMPropertyTypeInt) {\n        cacheObject.primaryKeyStringValue = ((NSNumber *)primaryKeyValue).stringValue;\n    }\n    else {\n        @throw([self unsupportedPrimaryKeyTypeException]);\n    }\n    \n    return cacheObject;\n}\n\n+ (instancetype)createCacheObjectWithSafeObject:(RBQSafeRealmObject *)safeObject\n                            sectionKeyPathValue:(NSString *)sectionValue\n{\n    RBQObjectCacheObject *cacheObject = [[RBQObjectCacheObject alloc] init];\n    cacheObject.primaryKeyType = safeObject.primaryKeyType;\n    cacheObject.sectionKeyPathValue = sectionValue;\n    cacheObject.className = safeObject.className;\n    \n    if (cacheObject.primaryKeyType == RLMPropertyTypeString) {\n        cacheObject.primaryKeyStringValue = (NSString *)safeObject.primaryKeyValue;\n    }\n    else if (cacheObject.primaryKeyType == RLMPropertyTypeInt) {\n        cacheObject.primaryKeyStringValue = ((NSNumber *)safeObject.primaryKeyValue).stringValue;\n    }\n    else {\n        @throw([self unsupportedPrimaryKeyTypeException]);\n    }\n    \n    return cacheObject;\n}\n\n+ (instancetype)cacheObjectInRealm:(RLMRealm *)realm\n                         forObject:(RLMObjectBase *)object\n{\n    if (object) {\n        id primaryKeyValue = [RLMObject primaryKeyValueForObject:object];\n        \n        RLMObjectSchema *objectSchema = RLMObjectBaseObjectSchema(object);\n        \n        RLMPropertyType primaryKeyType = objectSchema.primaryKeyProperty.type;\n        \n        if (primaryKeyType == RLMPropertyTypeString) {\n            \n            return [RBQObjectCacheObject objectInRealm:realm\n                                         forPrimaryKey:primaryKeyValue];\n        }\n        else if (primaryKeyType == RLMPropertyTypeInt) {\n            NSString *primaryKeyStringValue = ((NSNumber *)primaryKeyValue).stringValue;\n            \n            return [RBQObjectCacheObject objectInRealm:realm\n                                         forPrimaryKey:primaryKeyStringValue];\n        }\n        else {\n            @throw([self unsupportedPrimaryKeyTypeException]);\n        }\n    }\n    \n    return nil;\n}\n\n+ (RLMObject *)objectInRealm:(RLMRealm *)realm\n              forCacheObject:(RBQObjectCacheObject *)cacheObject\n{\n    if (cacheObject.primaryKeyType == RLMPropertyTypeString) {\n        \n        return [realm objectWithClassName:cacheObject.className forPrimaryKey:cacheObject.primaryKeyStringValue];\n    }\n    else if (cacheObject.primaryKeyType == RLMPropertyTypeInt) {\n        NSNumber *numberFromString = @(cacheObject.primaryKeyStringValue.longLongValue);\n        \n        return [realm objectWithClassName:cacheObject.className forPrimaryKey:numberFromString];\n    }\n    else {\n        @throw ([self unsupportedPrimaryKeyTypeException]);\n    }\n}\n\n#pragma mark - RLMObject Class\n\n+ (NSString *)primaryKey\n{\n    return @\"primaryKeyStringValue\";\n}\n\n+ (NSDictionary *)defaultPropertyValues\n{\n    return @{@\"className\": @\"\",\n             @\"primaryKeyStringValue\" : @\"\",\n             @\"primaryKeyType\" : @(NSIntegerMin),\n             @\"sectionKeyPathValue\" : @\"\"\n             };\n}\n\n#pragma mark - Public Instance\n\n- (id)primaryKeyValue\n{\n    if (self.primaryKeyType == RLMPropertyTypeInt) {\n        NSNumber *numberFromString = @(self.primaryKeyStringValue.integerValue);\n        \n        return numberFromString;\n    }\n    \n    return self.primaryKeyStringValue;\n}\n\n#pragma mark - Equality\n\n- (BOOL)isEqualToObject:(RBQObjectCacheObject *)object\n{\n    if (self.primaryKeyType == RLMPropertyTypeString &&\n        object.primaryKeyType == RLMPropertyTypeString) {\n        \n        return [self.primaryKeyStringValue isEqualToString:object.primaryKeyStringValue];\n    }\n    else if (self.primaryKeyType == RLMPropertyTypeInt &&\n             object.primaryKeyType == RLMPropertyTypeInt) {\n        \n        return self.primaryKeyStringValue.integerValue == object.primaryKeyStringValue.integerValue;\n    }\n    else {\n        return [super isEqual:object];\n    }\n}\n\n- (BOOL)isEqual:(id)object\n{\n    return [self isEqualToObject:object];\n}\n\n#pragma mark - <NSCopying>\n\n- (id)copyWithZone:(NSZone *)zone\n{\n    RBQObjectCacheObject *objectCache = [[RBQObjectCacheObject allocWithZone:zone] init];\n    objectCache.className = _className;\n    objectCache.primaryKeyStringValue = _primaryKeyStringValue;\n    objectCache.primaryKeyType = _primaryKeyType;\n    objectCache.sectionKeyPathValue = _sectionKeyPathValue;\n    objectCache.section = _section;\n    \n    return objectCache;\n}\n\n#pragma mark - Helper exception\n\n+ (NSException *)unsupportedPrimaryKeyTypeException\n{\n    return [NSException exceptionWithName:@\"Unsupported primary key type\"\n                                   reason:@\"RBQFetchedResultsController only supports NSString or int/NSInteger primary keys\"\n                                 userInfo:nil];\n}\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQSectionCacheObject.h",
    "content": "//\n//  RBQSectionCacheObject.h\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Realm/Realm.h>\n#import \"RBQObjectCacheObject.h\"\n\nRLM_ARRAY_TYPE(RBQObjectCacheObject)\n\n/**\n * Internal object used by RBQFetchedResultsController cache. Object represents a section within the FRC cache.\n *\n * @warning This class is not to be used external the RBQFetchedResultsController\n */\n@interface RBQSectionCacheObject : RLMObject\n\n/**\n *  Section name\n */\n@property NSString *name;\n\n/**\n *  Index of the first object contained within the section\n */\n@property NSInteger firstObjectIndex;\n\n/**\n *  Index of the first object contained within the section\n */\n@property NSInteger lastObjectIndex;\n\n/**\n *  Sorted RBQFetchedResultsCacheObjects in section\n */\n@property RLMArray<RBQObjectCacheObject> *objects;\n\n/**\n *  Create RBQSectionCacheObject with a given section name\n *\n *  @param name The name of the section\n *\n *  @return A new instance of RBQSectionCacheObject\n */\n+ (instancetype)cacheWithName:(NSString *)name;\n\n@end\n\n// This protocol enables typed collections. i.e.:\n// RLMArray<RBQSectionCacheObject>"
  },
  {
    "path": "RBQFetchedResultsController/Source/CacheObjects/RBQSectionCacheObject.m",
    "content": "//\n//  RBQSectionCacheObject.m\n//  RBQFetchedResultsControllerExample\n//\n//  Created by Adam Fish on 1/6/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQSectionCacheObject.h\"\n\n@implementation RBQSectionCacheObject\n\n+ (instancetype)cacheWithName:(NSString *)name\n{\n    RBQSectionCacheObject *section = [[RBQSectionCacheObject alloc] init];\n    section.name = name;\n    \n    return section;\n}\n\n+ (NSString *)primaryKey\n{\n    return @\"name\";\n}\n\n+ (NSDictionary *)defaultPropertyValues\n{\n    return @{@\"firstObjectIndex\" : @(NSIntegerMin),\n             @\"lastObjectIndex\" : @(NSIntegerMin),\n             @\"name\" : @\"\"\n             };\n}\n\n\n#pragma mark - Equality\n\n- (BOOL)isEqualToObject:(RBQSectionCacheObject *)object\n{\n    return [self.name isEqualToString:object.name];\n}\n\n- (BOOL)isEqual:(id)object\n{\n    return [self isEqualToObject:object];\n}\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/RBQFetchRequest.h",
    "content": "//\n//  RBQFetchRequest.h\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Adam Fish on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n#import <Realm/RLMCollection.h>\n\n@class RBQFetchRequest, RLMRealm, RLMObject, RLMRealmConfiguration, RLMArray, RLMSortDescriptor;\n\n#pragma mark - RBQFetchRequest\n\n/**\n *  This class is used by the RBQFetchedResultsController to represent the properties of the fetch. The RBQFetchRequest is specific to one RLMObject and uses an NSPredicate and array of RLMSortDescriptors to define the query.\n */\n@interface RBQFetchRequest : NSObject\n\n/**\n *  RLMObject class name for the fetch request\n */\n@property (nonatomic, readonly, nonnull) NSString *entityName;\n\n/**\n *  The Realm in which the entity for the fetch request is persisted.\n */\n@property (nonatomic, readonly, nonnull) RLMRealm *realm;\n\n/**\n *  The configuration object used to create an instance of RLMRealm for the fetch request\n */\n@property (nonatomic, readonly, nonnull) RLMRealmConfiguration *realmConfiguration;\n\n/**\n *  Predicate supported by Realm\n *\n *  http://realm.io/docs/cocoa/0.89.2/#querying-with-predicates\n */\n@property (nonatomic, strong, nullable) NSPredicate *predicate;\n\n/**\n *  Array of RLMSortDescriptors\n *\n *  http://realm.io/docs/cocoa/0.89.2/#ordering-results\n */\n@property(nonatomic, strong, nullable) NSArray<RLMSortDescriptor *> *sortDescriptors;\n\n\n/**\n *  Constructor method to create a fetch request for a given entity name in a specific Realm.\n *\n *  @param entityName Class name for the RLMObject\n *  @param realm      RLMRealm in which the RLMObject is persisted (if passing in-memory Realm, make sure to keep a strong reference elsewhere since fetch request only stores the path)\n *  @param predicate  NSPredicate that represents the search query\n *\n *  @return A new instance of RBQFetchRequest\n */\n+ (nonnull instancetype)fetchRequestWithEntityName:(nonnull NSString *)entityName\n                                           inRealm:(nonnull RLMRealm *)realm\n                                         predicate:(nullable NSPredicate *)predicate;\n\n/**\n *  Retrieve all the RLMObjects for this fetch request in its realm.\n *\n *  @return RLMResults or RLMArray for all the objects in the fetch request (not thread-safe).\n */\n- (nonnull id<RLMCollection>)fetchObjects;\n\n/**\n *  Should this object be in our fetch results?\n *\n *  Intended to be used by the RBQFetchedResultsController to evaluate incremental changes. For\n *  simple fetch requests this just evaluates the NSPredicate, but subclasses may have a more\n *  complicated implementaiton.\n *\n *  @param object Realm object of appropriate type\n *\n *  @return YES if performing fetch would include this object\n */\n- (BOOL)evaluateObject:(nonnull RLMObject *)object;\n\n/**\n *  Create RBQFetchRequest in RLMRealm instance with an entity name\n *\n *  @param entityName Class name for the RLMObject\n *  @param realm      RLMRealm in which the RLMObject is persisted\n *\n *  @return A new instance of RBQFetchRequest\n */\n- (nonnull instancetype)initWithEntityName:(nonnull NSString *)entityName\n                                   inRealm:(nonnull RLMRealm *)realm;\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/RBQFetchRequest.m",
    "content": "//\n//  RBQFetchRequest.m\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Adam Fish on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQFetchRequest.h\"\n\n#import <Realm/Realm.h>\n#import <Realm/RLMRealm_Dynamic.h>\n#import <RBQSafeRealmObject/RBQSafeRealmObject.h>\n#import <RealmUtilities/RLMObject+Utilities.h>\n\n@interface RBQFetchRequest ()\n\n@property (strong, nonatomic) RLMRealm *realmForMainThread; // Improves scroll performance\n\n@end\n\n@implementation RBQFetchRequest\n@synthesize entityName = _entityName,\nrealmConfiguration = _realmConfiguration;\n\n#pragma mark - Public Class\n\n+ (instancetype)fetchRequestWithEntityName:(NSString *)entityName\n                                   inRealm:(RLMRealm *)realm\n                                 predicate:(NSPredicate *)predicate\n{\n    RBQFetchRequest *fetchRequest = [[self alloc] initWithEntityName:entityName\n                                                             inRealm:realm];\n    fetchRequest.predicate = predicate;\n    \n    return fetchRequest;\n}\n\n#pragma mark - Public Instance\n\n- (instancetype)initWithEntityName:(NSString *)entityName\n                           inRealm:(RLMRealm *)realm\n{\n    self = [super init];\n    \n    if (self) {\n        // Returns the appropriate class name for Obj-C or Swift\n        _entityName = entityName;\n        _realmConfiguration = realm.configuration;\n    }\n    \n    return self;\n}\n\n- (id<RLMCollection>)fetchObjects\n{\n    RLMResults *fetchResults = [self.realm allObjects:self.entityName];\n    \n    // If we have a predicate use it\n    if (self.predicate) {\n        fetchResults = [fetchResults objectsWithPredicate:self.predicate];\n    }\n    \n    // If we have sort descriptors then use them\n    if (self.sortDescriptors.count > 0) {\n        fetchResults = [fetchResults sortedResultsUsingDescriptors:self.sortDescriptors];\n    }\n    \n    return fetchResults;\n}\n\n- (BOOL)evaluateObject:(RLMObject *)object\n{\n    // If we have a predicate, use it\n    if (self.predicate) {\n        return [self.predicate evaluateWithObject:object];\n    }\n    \n    // Verify the class name of object match the entity name of fetch request\n    NSString *className = [[object class] className];\n    \n    BOOL sameEntity = [className isEqualToString:self.entityName];\n    \n    return sameEntity;\n}\n\n#pragma mark - Getter\n\n- (RLMRealm *)realm\n{\n    if ([NSThread isMainThread] &&\n        !self.realmForMainThread) {\n        \n        self.realmForMainThread = [RLMRealm realmWithConfiguration:self.realmConfiguration\n                                                             error:nil];\n    }\n    \n    if ([NSThread isMainThread]) {\n        \n        return self.realmForMainThread;\n    }\n    \n    return [RLMRealm realmWithConfiguration:self.realmConfiguration\n                                      error:nil];\n}\n\n#pragma mark - Hash\n\n- (NSUInteger)hash\n{\n    if (self.predicate &&\n        self.sortDescriptors) {\n        \n        NSUInteger sortHash = 1;\n        \n        for (RLMSortDescriptor *sortDescriptor in self.sortDescriptors) {\n            sortHash = sortHash ^ sortDescriptor.hash;\n        }\n        \n        return self.predicate.hash ^ sortHash ^ self.entityName.hash;\n    }\n    else if (self.predicate &&\n             self.entityName) {\n        return self.predicate.hash ^ self.entityName.hash;\n    }\n    else {\n        return [super hash];\n    }\n}\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/RBQFetchedResultsController.h",
    "content": "//\n//  RBQFetchedResultsController.h\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Adam Fish on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQFetchRequest.h\"\n#import <RBQSafeRealmObject/RBQSafeRealmObject.h>\n#import <Foundation/Foundation.h>\n\n@import CoreData;\n\n@class RBQFetchedResultsController;\n\n#pragma mark - RBQFetchedResultsSectionInfo\n\n/**\n *  This class is used by the RBQFetchedResultsController to pass along section info.\n */\n@interface RBQFetchedResultsSectionInfo : NSObject\n\n/**\n *  The number of objects in the section.\n */\n@property (nonatomic, readonly) NSUInteger numberOfObjects;\n\n/**\n *  The objects in the section (generated on-demand and not thread-safe).\n */\n@property (nonatomic, readonly, nonnull) id<RLMCollection> objects;\n\n/**\n *  The name of the section.\n */\n@property (nonatomic, readonly, nonnull) NSString *name;\n\n@end\n\n#pragma mark - RBQFetchedResultsControllerDelegate\n\n/**\n *  Delegate to pass along the changes identified by the RBQFetchedResultsController.\n */\n@protocol RBQFetchedResultsControllerDelegate <NSObject>\n\n\n/**\n *  Indicates that the controller has started identifying changes.\n *\n *  @param controller controller instance that noticed the change on its fetched objects\n */\n- (void)controllerWillChangeContent:(nonnull RBQFetchedResultsController *)controller;\n\n/**\n *  Notifies the delegate that a fetched object has been changed due to an add, remove, move, or update. Enables RBQFetchedResultsController change tracking.\n *\n *  Changes are reported with the following heuristics:\n *\n *  On add and remove operations, only the added/removed object is reported. It’s assumed that all objects that come after the affected object are also moved, but these moves are not reported.\n *\n *  A move is reported when the changed attribute on the object is one of the sort descriptors used in the fetch request. An update of the object is assumed in this case, but no separate update message is sent to the delegate.\n *\n *  An update is reported when an object’s state changes, but the changed attributes aren’t part of the sort keys.\n *\n *  @param controller controller instance that noticed the change on its fetched objects\n *  @param anObject changed object represented as a RBQSafeRealmObject for thread safety\n *  @param indexPath indexPath of changed object (nil for inserts)\n *  @param type indicates if the change was an insert, delete, move, or update\n *  @param newIndexPath the destination path for inserted or moved objects, nil otherwise\n */\n\n- (void)controller:(nonnull RBQFetchedResultsController *)controller\n   didChangeObject:(nonnull RBQSafeRealmObject *)anObject\n       atIndexPath:(nullable NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(nullable NSIndexPath *)newIndexPath;\n\n/**\n *  The fetched results controller reports changes to its section before changes to the fetched result objects.\n *\n *  @param controller   controller controller instance that noticed the change on its fetched objects\n *  @param section      changed section represented as a RBQFetchedResultsSectionInfo object\n *  @param sectionIndex the section index of the changed section\n *  @param type         indicates if the change was an insert or delete\n */\n- (void)controller:(nonnull RBQFetchedResultsController *)controller\n  didChangeSection:(nonnull RBQFetchedResultsSectionInfo *)section\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type;\n\n/**\n *  This method is called at the end of processing changes by the controller\n *\n *  @param controller controller instance that noticed the change on its fetched objects\n */\n- (void)controllerDidChangeContent:(nonnull RBQFetchedResultsController *)controller;\n\n@optional\n\n/**\n *  This method is called before the controller performs the fetch.\n *\n *  @param controller controller instance that will perform the fetch\n */\n- (void)controllerWillPerformFetch:(nonnull RBQFetchedResultsController *)controller;\n\n/**\n *  This method is called after the controller successfully fetches objects. It will not be called if the fetchRequest is nil.\n *\n *  @param controller controller instance that performed the fetch\n */\n- (void)controllerDidPerformFetch:(nonnull RBQFetchedResultsController *)controller;\n\n@end\n\n#pragma mark - RBQFetchedResultsController\n\n/**\n *  The class is used to monitor changes from a RBQRealmNotificationManager to convert these changes into specific index path or section index changes. Typically this is used to back a UITableView and support animations when items are inserted, deleted, or changed.\n */\n@interface RBQFetchedResultsController : NSObject\n\n@property (nonatomic) bool logging;\n\n/**\n *  The fetch request for the controller\n */\n@property (nonatomic, readonly, nonnull) RBQFetchRequest *fetchRequest;\n\n/**\n *  The section name key path used to create the sections. Can be nil if no sections.\n */\n@property (nonatomic, readonly, nullable) NSString *sectionNameKeyPath;\n\n/**\n *  The delegate to pass the index path and section changes to.\n */\n@property (nonatomic, weak, nullable) id <RBQFetchedResultsControllerDelegate> delegate;\n\n/**\n *  The name of the cache used internally to represent the tableview structure.\n */\n@property (nonatomic, readonly, nullable) NSString *cacheName;\n\n/**\n *  All the objects that match the fetch request.\n */\n@property (nonatomic, readonly, nonnull) id<RLMCollection> fetchedObjects;\n\n/**\n *  Returns all the section titles if using a section name key path\n */\n@property(nonatomic, readonly, nullable) NSArray <NSString *> *sectionIndexTitles;\n\n/**\n *  Deletes the cached section information with the given name\n *\n *  If name is not nil, then the cache will be cleaned, but not deleted from disk. \n *\n *  If name is nil, then all caches will be deleted by removing the files from disk.\n *\n *  @warning  If clearing all caches (name is nil), it is recommended to do this in didFinishLaunchingWithOptions: in AppDelegate because RLMRealm files cannot be deleted from disk safely, if there are strong references to them.\n *\n *  @param name The name of the cache file to delete. If name is nil, deletes all cache files.\n */\n+ (void)deleteCacheWithName:(nullable NSString *)name;\n\n/**\n *  Retrieves all the paths for the Realm files being used as FRC caches on disk.\n *\n *  The typical use case for this method is to use the paths to perform migrations in AppDelegate. The FRC cache files need to be migrated along with your other Realm files because by default Realm includes all of the properties defined in your model in all Realm files. Thus the FRC cache files will throw an exception if they are not migrated. Call setSchemaVersion:forRealmAtPath:withMigrationBlock: for each path returned in the array.\n *\n *  @return NSArray of NSStrings representing the paths on disk for all FRC cache Realm files\n */\n+ (nonnull NSArray *)allCacheRealmPaths;\n\n/**\n *  Constructor method to initialize the controller\n *\n *  @warning Specify a cache name if deletion of the cache later on is necessary\n *\n *  @param fetchRequest       the RBQFetchRequest for the controller\n *  @param sectionNameKeyPath A key path on result objects that returns the section name. Pass nil to indicate that the controller should generate a single section. If this key path is not the same as that specified by the first sort descriptor in fetchRequest, they must generate the same relative orderings.\n *  @param name               the cache name (if nil, cache will not be persisted and built using an in-memory Realm)\n *\n *  @return A new instance of RBQFetchedResultsController\n */\n- (nonnull id)initWithFetchRequest:(nonnull RBQFetchRequest *)fetchRequest\n                sectionNameKeyPath:(nullable NSString *)sectionNameKeyPath\n                         cacheName:(nullable NSString *)name;\n\n/**\n *  Method to tell the controller to perform the fetch\n *\n *  @return Indicates if the fetch was successful\n */\n- (BOOL)performFetch;\n\n/**\n *  Call this method to force the cache to be rebuilt. \n *\n *  A potential use case would be to call this in a @catch after trying to call endUpdates for the table view. If an exception is thrown, then the cache will be rebuilt and you can call reloadData on the table view.\n */\n- (void)reset;\n\n/**\n *  Method to retrieve the number of rows for a given section index\n *\n *  @param index section index\n *\n *  @return number of rows in the section\n */\n- (NSInteger)numberOfRowsForSectionIndex:(NSInteger)index;\n\n/**\n *  Method to retrieve the number of sections represented by the fetch request\n *\n *  @return number of sections\n */\n- (NSInteger)numberOfSections;\n\n/**\n *  Method to retrieve the title for a given section index\n *\n *  @param section section index\n *\n *  @return The title of the section\n */\n- (nonnull NSString *)titleForHeaderInSection:(NSInteger)section;\n\n/**\n *  Method to retrieve the section index given a section name\n *\n *  @warning Returns NSNotFound if there is not a section with the given name\n *\n *  @param sectionName the name of the section\n *\n *  @return the index of the section (returns NSNotFound if no section with the given name)\n */\n- (NSUInteger)sectionIndexForSectionName:(nonnull NSString *)sectionName;\n\n/**\n *  Retrieve the RBQSafeRealmObject for a given index path\n *\n *  @param indexPath the index path of the object\n *\n *  @return RBQSafeRealmObject\n */\n- (nullable RBQSafeRealmObject *)safeObjectAtIndexPath:(nonnull NSIndexPath *)indexPath;\n\n/**\n *  Retrieve the RLMObject for a given index path\n *  \n *  @warning Returned object is not thread-safe.\n *\n *  @param indexPath the index path of the object\n *\n *  @return RLMObject\n */\n- (nullable id)objectAtIndexPath:(nonnull NSIndexPath *)indexPath;\n\n/**\n *  Retrieve the index path for a safe object in the fetch request\n *\n *  @param safeObject RBQSafeRealmObject\n *\n *  @return index path of the object\n */\n- (nullable NSIndexPath *)indexPathForSafeObject:(nonnull RBQSafeRealmObject *)safeObject;\n\n/**\n *  Retrieve the index path for a RLMObject in the fetch request\n *\n *  @param object RLMObject\n *\n *  @return index path of the object\n */\n- (nullable NSIndexPath *)indexPathForObject:(nonnull RLMObjectBase *)object;\n\n/**\n *  Convenience method to safely update the fetch request for an existing RBQFetchResultsController\n *\n *  @param fetchRequest       a new instance of RBQFetchRequest\n *  @param sectionNameKeyPath the section name key path for this fetch request (if nil, no sections will be shown)\n *  @param performFetch       indicates whether you want to immediately performFetch using the new fetch request to rebuild the cache\n */\n- (void)updateFetchRequest:(nonnull RBQFetchRequest *)fetchRequest\n        sectionNameKeyPath:(nullable NSString *)sectionNameKeyPath\n            andPerformFetch:(BOOL)performFetch;\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/RBQFetchedResultsController.m",
    "content": "//\n//  RBQFetchedResultsController.m\n//  RBQFetchedResultsControllerTest\n//\n//  Created by Adam Fish on 1/2/15.\n//  Copyright (c) 2015 Roobiq. All rights reserved.\n//\n\n#import \"RBQFetchedResultsController.h\"\n\n#import \"RBQControllerCacheObject.h\"\n#import \"RBQSectionCacheObject.h\"\n\n#import <objc/runtime.h>\n#import <RealmUtilities/RLMObject+Utilities.h>\n\n@import UIKit;\n\n#pragma mark - Constants\nstatic void * RBQArrayFetchRequestContext = &RBQArrayFetchRequestContext;\n\n#pragma mark - RBQFetchedResultsController\n\n@interface RBQFetchedResultsController ()\n\n@property (nonatomic, strong) RLMNotificationToken *notificationToken;\n@property (nonatomic, strong) id<RLMCollection> notificationCollection;\n@property (nonatomic, strong) NSRunLoop *notificationRunLoop;\n\n@property (strong, nonatomic) RLMRealm *inMemoryRealm;\n@property (strong, nonatomic) RLMRealm *realmForMainThread; // Improves scroll performance\n\n@end\n\n#pragma mark - RBQFetchedResultsSectionInfo\n\n@interface RBQFetchedResultsSectionInfo ()\n\n// RBQFetchRequest to support retrieving section objects\n@property (strong, nonatomic) RBQFetchRequest *fetchRequest;\n\n// Section name key path to support retrieving section objects\n@property (strong, nonatomic) NSString *sectionNameKeyPath;\n\n// Create a RBQFetchedResultsSectionInfo\n+ (instancetype)createSectionWithName:(NSString *)sectionName\n                   sectionNameKeyPath:(NSString *)sectionNameKeyPath\n                         fetchRequest:(RBQFetchRequest *)fetchRequest;\n\n@end\n\n@implementation RBQFetchedResultsSectionInfo\n@synthesize name = _name;\n\n+ (instancetype)createSectionWithName:(NSString *)sectionName\n                   sectionNameKeyPath:(NSString *)sectionNameKeyPath\n                         fetchRequest:(RBQFetchRequest *)fetchRequest\n{\n    RBQFetchedResultsSectionInfo *sectionInfo = [[RBQFetchedResultsSectionInfo alloc] init];\n    sectionInfo->_name = sectionName;\n    sectionInfo.sectionNameKeyPath = sectionNameKeyPath;\n    sectionInfo.fetchRequest = fetchRequest;\n    \n    return sectionInfo;\n}\n\n- (id<RLMCollection>)objects\n{\n    if (self.fetchRequest && self.sectionNameKeyPath) {\n        \n        id<RLMCollection> fetchResults = [self.fetchRequest fetchObjects];\n        \n        return [fetchResults objectsWhere:@\"%K == %@\", self.sectionNameKeyPath, self.name];\n    }\n    else if (self.fetchRequest) {\n        return [self.fetchRequest fetchObjects];\n    }\n    \n    return nil;\n}\n\n- (NSUInteger)numberOfObjects\n{\n    return [self objects].count;\n}\n\n@end\n\n#pragma mark - RBQStateObject\n\n@interface RBQStateObject : NSObject\n\n@property (strong, nonatomic) RLMRealm *realm;\n@property (strong, nonatomic) RLMRealm *cacheRealm;\n@property (strong, nonatomic) id<RLMCollection> fetchResults;\n@property (strong, nonatomic) RBQControllerCacheObject *cache;\n\n@end\n\n@implementation RBQStateObject\n\n@end\n\n#pragma mark - RBQChangeSetsObject\n\n@interface RBQChangeSetsObject : NSObject\n\n@property (strong, nonatomic) NSOrderedSet *cacheObjectsChangeSet;\n@property (strong, nonatomic) NSOrderedSet *cacheSectionsChangeSet;\n@property (strong, nonatomic) NSMapTable *cacheObjectToSafeObject;\n\n@end\n\n@implementation RBQChangeSetsObject\n\n@end\n\n#pragma mark - RBQSectionChangesObject\n\n@interface RBQSectionChangesObject : NSObject\n\n@property (strong, nonatomic) NSOrderedSet *oldCacheSections;\n@property (strong, nonatomic) NSOrderedSet *sortedNewCacheSections;\n@property (strong, nonatomic) NSOrderedSet *deletedCacheSections;\n@property (strong, nonatomic) NSOrderedSet *insertedCacheSections;\n\n@end\n\n@implementation RBQSectionChangesObject\n\n@end\n\n#pragma mark - RBQSectionChangeObject\n\n@interface RBQSectionChangeObject : NSObject\n\n@property (strong, nonatomic) NSNumber *previousIndex;\n@property (strong, nonatomic) NSNumber *updatedIndex;\n@property (strong, nonatomic) RBQSectionCacheObject *section;\n@property (assign, nonatomic) NSFetchedResultsChangeType changeType;\n\n@end\n\n@implementation RBQSectionChangeObject\n\n@end\n\n#pragma mark - RBQObjectChangeObject\n\n@interface RBQObjectChangeObject : NSObject\n\n@property (strong, nonatomic) NSIndexPath *previousIndexPath;\n@property (strong, nonatomic) NSIndexPath *updatedIndexpath;\n@property (assign, nonatomic) NSFetchedResultsChangeType changeType;\n@property (strong, nonatomic) RBQSafeRealmObject *object;\n@property (strong, nonatomic) RBQObjectCacheObject *previousCacheObject;\n@property (strong, nonatomic) RBQObjectCacheObject *updatedCacheObject;\n\n@end\n\n@implementation RBQObjectChangeObject\n\n@end\n\n#pragma mark - RBQDerivedChangesObject\n\n@interface RBQDerivedChangesObject : NSObject\n\n@property (nonatomic, strong) NSOrderedSet *deletedSectionChanges;\n@property (nonatomic, strong) NSOrderedSet *insertedSectionChanges;\n@property (nonatomic, strong) NSOrderedSet *deletedObjectChanges;\n@property (nonatomic, strong) NSOrderedSet *insertedObjectChanges;\n@property (nonatomic, strong) NSOrderedSet *movedObjectChanges;\n\n@end\n\n@implementation RBQDerivedChangesObject\n\n@end\n\n#pragma mark - RBQFetchedResultsController\n\n@implementation RBQFetchedResultsController\n@synthesize cacheName = _cacheName;\n\n#pragma mark - Public Class\n\n+ (void)deleteCacheWithName:(NSString *)name\n{\n    if (name) {\n        RLMRealm *cacheRealm = [RBQFetchedResultsController realmForCacheName:name];\n        \n        [cacheRealm beginWriteTransaction];\n        [cacheRealm deleteAllObjects];\n        [cacheRealm commitWriteTransaction];\n    }\n    // No name, so lets clear all caches\n    else {\n        NSError *error;\n        if (![[NSFileManager defaultManager] removeItemAtPath:[RBQFetchedResultsController basePathForCaches]\n                                                        error:&error]) {\n#ifdef DEBUG\n            NSLog(@\"%@\",error.localizedDescription);\n#endif\n        }\n    }\n}\n\n+ (NSArray *)allCacheRealmPaths\n{\n    NSString *basePath = [RBQFetchedResultsController basePathForCaches];\n    \n    NSURL *baseURL = [[NSURL alloc] initFileURLWithPath:basePath isDirectory:YES];\n    \n    NSError *error = nil;\n    NSArray *urlsInSyncCache =\n    [[NSFileManager defaultManager] contentsOfDirectoryAtURL:baseURL\n                                  includingPropertiesForKeys:@[NSURLIsDirectoryKey, NSURLNameKey]\n                                                     options:0\n                                                       error:&error];\n    \n    if (error) {\n        NSLog(@\"Error retrieving sync cache directories: %@\", error.localizedDescription);\n        \n    }\n    \n    NSMutableArray *cachePaths = [NSMutableArray array];\n    \n    for (NSURL *url in urlsInSyncCache) {\n        NSNumber *isDirectory = nil;\n        NSError *error = nil;\n        \n        if (![url getResourceValue:&isDirectory\n                            forKey:NSURLIsDirectoryKey\n                             error:&error]) {\n            \n            NSLog(@\"Error retrieving resource value: %@\", error.localizedDescription);\n        }\n        \n        if (isDirectory.boolValue) {\n            NSString *name = nil;\n            \n            if (![url getResourceValue:&name\n                                forKey:NSURLNameKey\n                                 error:&error]) {\n                \n                NSLog(@\"Error retrieving resource value: %@\", error.localizedDescription);\n            }\n            else {\n                // Directory name is filename with extension stripped\n                NSString *cachePath = [RBQFetchedResultsController cachePathWithName:name];\n                \n                [cachePaths addObject:cachePath];\n            }\n        }\n    }\n    \n    return cachePaths.copy;\n}\n\n#pragma mark - Private Class\n\n// Create Realm instance for cache name\n+ (RLMRealm *)realmForCacheName:(NSString *)cacheName\n{\n    NSURL *url = [NSURL fileURLWithPath:[RBQFetchedResultsController cachePathWithName:cacheName]];\n    \n    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];\n    config.fileURL = url;\n    config.encryptionKey = nil;\n    config.objectClasses = @[RBQControllerCacheObject.class, RBQObjectCacheObject.class, RBQSectionCacheObject.class];\n    \n    return [RLMRealm realmWithConfiguration:config error:nil];;\n}\n\n//  Create a file path for Realm cache with a given name\n+ (NSString *)cachePathWithName:(NSString *)name\n{\n    NSString *basePath = [RBQFetchedResultsController basePathForCaches];\n    \n    BOOL isDir = NO;\n    NSError *error = nil;\n    \n    //Create a unique directory for each cache\n    NSString *uniqueDirectory = [NSString stringWithFormat:@\"/%@/\",name];\n    \n    NSString *cachePath = [basePath stringByAppendingPathComponent:uniqueDirectory];\n    \n    if (![[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) {\n        [[NSFileManager defaultManager] createDirectoryAtPath:cachePath\n                                  withIntermediateDirectories:NO\n                                                   attributes:@{NSFileProtectionKey:NSFileProtectionNone}\n                                                        error:&error];\n        \n        if (error) {\n#ifdef DEBUG\n            NSLog(@\"FRC Cache Directory Creation Error: %@\",error.localizedDescription);\n#endif\n        }\n    }\n    \n    NSString *fileName = [NSString stringWithFormat:@\"%@.realm\",name];\n    \n    cachePath = [cachePath stringByAppendingPathComponent:fileName];\n    \n    return cachePath;\n}\n\n+ (NSString *)basePathForCaches\n{\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);\n    NSString *documentPath = [paths objectAtIndex:0];\n    BOOL isDir = NO;\n    NSError *error = nil;\n    \n    //Base path for all caches\n    NSString *basePath = [documentPath stringByAppendingPathComponent:@\"/RBQFetchedResultsControllerCache\"];\n    \n    if (![[NSFileManager defaultManager] fileExistsAtPath:basePath isDirectory:&isDir] && isDir == NO) {\n        [[NSFileManager defaultManager] createDirectoryAtPath:basePath\n                                  withIntermediateDirectories:NO\n                                                   attributes:@{NSFileProtectionKey:NSFileProtectionNone}\n                                                        error:&error];\n        \n        if (error) {\n#ifdef DEBUG\n            NSLog(@\"FRC Cache Directory Creation Error: %@\",error.localizedDescription);\n#endif\n        }\n    }\n    \n    return basePath;\n}\n\n+ (NSString *)basePathForCacheWithName:(NSString *)name\n{\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);\n    NSString *documentPath = [paths objectAtIndex:0];\n    BOOL isDir = NO;\n    NSError *error = nil;\n    \n    //Unique directory for the cache\n    NSString *uniqueDirectory = [NSString stringWithFormat:@\"/RBQFetchedResultsControllerCache/%@\",name];\n    \n    NSString *cachePath = [documentPath stringByAppendingPathComponent:uniqueDirectory];\n    \n    if (![[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) {\n        [[NSFileManager defaultManager] createDirectoryAtPath:cachePath\n                                  withIntermediateDirectories:NO\n                                                   attributes:@{NSFileProtectionKey:NSFileProtectionNone}\n                                                        error:&error];\n        \n        if (error) {\n#ifdef DEBUG\n            NSLog(@\"FRC Cache Directory Creation Error: %@\",error.localizedDescription);\n#endif\n        }\n    }\n    \n    return cachePath;\n}\n\n#pragma mark - Public Instance\n\n- (id)initWithFetchRequest:(RBQFetchRequest *)fetchRequest\n        sectionNameKeyPath:(NSString *)sectionNameKeyPath\n                 cacheName:(NSString *)name\n{\n    self = [super init];\n    \n    if (self) {\n        _cacheName = name;\n        _fetchRequest = fetchRequest;\n        _sectionNameKeyPath = sectionNameKeyPath;\n\t\t\n#ifdef DEBUG\n\t\t_logging = true;\n#endif\n    }\n    \n    return self;\n}\n\n- (BOOL)performFetch\n{\n    if ([self.delegate respondsToSelector:@selector(controllerWillPerformFetch:)]) {\n        [self.delegate controllerWillPerformFetch:self];\n    }\n    \n    if (self.fetchRequest) {\n        \n        if (self.cacheName) {\n            [self createCacheWithRealm:[self cacheRealm]\n                             cacheName:self.cacheName\n                       forFetchRequest:self.fetchRequest\n                    sectionNameKeyPath:self.sectionNameKeyPath];\n        }\n        else {\n            [self createCacheWithRealm:[self cacheRealm]\n                             cacheName:[self nameForFetchRequest:self.fetchRequest]\n                       forFetchRequest:self.fetchRequest\n                    sectionNameKeyPath:self.sectionNameKeyPath];\n        }\n        \n        // Only register for changes after the cache was created!\n        [self registerChangeNotifications];\n        \n        if ([self.delegate respondsToSelector:@selector(controllerDidPerformFetch:)]) {\n            [self.delegate controllerDidPerformFetch:self];\n        }\n        \n        return YES;\n    }\n    \n    @throw [NSException exceptionWithName:@\"RBQException\"\n                                   reason:@\"Unable to perform fetch; fetchRequest must be set.\"\n                                 userInfo:nil];\n    \n    return NO;\n}\n\n- (void)reset\n{\n    RLMRealm *cacheRealm = [self cacheRealm];\n    \n    [self unregisterChangeNotifications];\n    \n    [cacheRealm beginWriteTransaction];\n    [cacheRealm deleteAllObjects];\n    [cacheRealm commitWriteTransaction];\n    \n    [self performFetch];\n    \n    [self registerChangeNotifications];\n}\n\n- (RBQSafeRealmObject *)safeObjectAtIndexPath:(NSIndexPath *)indexPath\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (indexPath.section < cache.sections.count) {\n        \n        RBQSectionCacheObject *section = cache.sections[indexPath.section];\n        \n        if (indexPath.row < section.objects.count) {\n            \n            RBQObjectCacheObject *cacheObject = section.objects[indexPath.row];\n            \n            RLMRealm *realm = self.fetchRequest.realm;\n            \n            // Call refresh to guarantee latest results\n            [realm refresh];\n            \n            RLMObject *object =\n            [RBQObjectCacheObject objectInRealm:realm\n                                 forCacheObject:cacheObject];\n            \n            return [RBQSafeRealmObject safeObjectFromObject:object];\n        }\n    }\n    \n    return nil;\n}\n\n- (id)objectAtIndexPath:(NSIndexPath *)indexPath\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (indexPath.section < cache.sections.count) {\n        RBQSectionCacheObject *section = cache.sections[indexPath.section];\n        \n        if (indexPath.row < section.objects.count) {\n            RBQObjectCacheObject *cacheObject = section.objects[indexPath.row];\n            \n            RLMRealm *realm = self.fetchRequest.realm;\n            \n            // Call refresh to guarantee latest results\n            [realm refresh];\n            \n            return [RBQObjectCacheObject objectInRealm:realm\n                                        forCacheObject:cacheObject];\n        }\n    }\n    \n    return nil;\n}\n\n- (NSIndexPath *)indexPathForSafeObject:(RBQSafeRealmObject *)safeObject\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        RLMRealm *cacheRealm = cache.realm;\n        \n        // Get the string value of the primaryKeyValue\n        NSString *primaryKeyStringValue = [NSString stringWithFormat:@\"%@\",safeObject.primaryKeyValue];\n        \n        RBQObjectCacheObject *cacheObject =\n        [RBQObjectCacheObject objectInRealm:cacheRealm forPrimaryKey:primaryKeyStringValue];\n        \n        NSInteger sectionIndex = [cache.sections indexOfObject:cacheObject.section];\n        NSInteger rowIndex = [cacheObject.section.objects indexOfObject:cacheObject];\n        \n        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowIndex inSection:sectionIndex];\n        \n        return indexPath;\n    }\n    \n    return nil;\n}\n\n- (NSIndexPath *)indexPathForObject:(RLMObjectBase *)object\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        RLMRealm *cacheRealm = cache.realm;\n        \n        RBQObjectCacheObject *cacheObject =\n        [RBQObjectCacheObject cacheObjectInRealm:cacheRealm\n                                       forObject:object];\n        \n        NSInteger sectionIndex = [cache.sections indexOfObject:cacheObject.section];\n        NSInteger rowIndex = [cacheObject.section.objects indexOfObject:cacheObject];\n        \n        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowIndex inSection:sectionIndex];\n        \n        return indexPath;\n    }\n    \n    return nil;\n}\n\n- (NSInteger)numberOfRowsForSectionIndex:(NSInteger)index\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (index < cache.sections.count) {\n        RBQSectionCacheObject *section = cache.sections[index];\n        \n        return section.objects.count;\n    }\n    \n    return 0;\n}\n\n- (NSInteger)numberOfSections\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        return cache.sections.count;\n    }\n    \n    return 0;\n}\n\n- (NSString *)titleForHeaderInSection:(NSInteger)section\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        \n        if (section < cache.sections.count) {\n            RBQSectionCacheObject *sectionInfo = cache.sections[section];\n            \n            return sectionInfo.name;\n        }\n    }\n    \n    return @\"\";\n}\n\n- (NSUInteger)sectionIndexForSectionName:(NSString *)sectionName\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        \n        RLMResults *sectionWithName = [cache.sections objectsWhere:@\"name == %@\",sectionName];\n        \n        RBQSectionCacheObject *section = sectionWithName.firstObject;\n        \n        if (section) {\n            \n            return [cache.sections indexOfObject:section];\n        }\n    }\n    \n    return NSNotFound;\n}\n\n- (void)updateFetchRequest:(RBQFetchRequest *)fetchRequest\n        sectionNameKeyPath:(NSString *)sectionNameKeyPath\n            andPerformFetch:(BOOL)performFetch\n{\n    @synchronized(self) {\n        // Turn off change notifications since we are replacing fetch request\n        // Change notifications will be re-registered if performFetch is called\n        [self unregisterChangeNotifications];\n        \n        // Updating the fetch request will force rebuild of cache automatically\n        _sectionNameKeyPath = sectionNameKeyPath;\n        _fetchRequest = fetchRequest;\n        \n        if (performFetch) {\n            // Only performFetch if the change processing is finished\n            [self performFetch];\n        }\n    }\n}\n\n#pragma mark - Getters\n\n- (id<RLMCollection>)fetchedObjects\n{\n    if (self.fetchRequest) {\n        return [self.fetchRequest fetchObjects];\n    }\n    \n    return nil;\n}\n\n- (NSArray<NSString *> *)sectionIndexTitles\n{\n    RBQControllerCacheObject *cache = [self cache];\n    \n    if (cache) {\n        NSArray *titles = [cache.sections valueForKey:@\"name\"];\n        \n        return titles;\n    }\n    \n    return nil;\n}\n\n#pragma mark - Private\n\n- (void)dealloc\n{\n    // Remove the notifications\n    [self unregisterChangeNotifications];\n}\n\n- (NSSet *)safeObjectsFromChanges:(NSArray<NSNumber *> *)changes\n                   withCollection:(id<RLMCollection>)collection\n                      isInsertion:(BOOL)isInsertion\n{\n    NSMutableSet *set = [NSMutableSet setWithCapacity:changes.count];\n    \n    RLMRealm *cacheRealm = [self cacheRealm];\n    \n    for (NSNumber *index in changes) {\n        RBQSafeRealmObject *safeObject = nil;\n        \n        if (isInsertion) {\n            RLMObject *object = [collection objectAtIndex:index.unsignedIntegerValue];\n            safeObject = [RBQSafeRealmObject safeObjectFromObject:object];\n        }\n        else {\n            NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"firstObjectIndex <= %@ AND lastObjectIndex >= %@\", index, index];\n            RLMResults *sections = [RBQSectionCacheObject objectsInRealm:cacheRealm withPredicate:predicate];\n            RBQSectionCacheObject *section = sections.firstObject;\n            NSUInteger row = index.unsignedIntegerValue - section.firstObjectIndex;\n            RBQObjectCacheObject *objectCache = [section.objects objectAtIndex:row];\n            safeObject = [[RBQSafeRealmObject alloc] initWithClassName:objectCache.className\n                                                       primaryKeyValue:objectCache.primaryKeyValue\n                                                        primaryKeyType:(RLMPropertyType)objectCache.primaryKeyType\n                                                                 realm:collection.realm];\n        }\n        \n        [set addObject:safeObject];\n    }\n    \n    return set.copy;\n}\n\n// Register the change notification from RBQRealmNotificationManager\n// Is no-op if the change notifications are already registered\n- (void)registerChangeNotifications\n{\n    typeof(self) __weak weakSelf = self;\n    \n    // Setup run loop\n    if (!self.notificationRunLoop) {\n        dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{\n            CFRunLoopPerformBlock(CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, ^{\n                weakSelf.notificationRunLoop = [NSRunLoop currentRunLoop];\n                \n                dispatch_semaphore_signal(sem);\n            });\n            \n            CFRunLoopRun();\n        });\n        \n        dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);\n    }\n    \n    CFRunLoopPerformBlock(self.notificationRunLoop.getCFRunLoop, kCFRunLoopDefaultMode, ^{\n        if (weakSelf.notificationToken) {\n            [weakSelf.notificationToken invalidate];\n            weakSelf.notificationToken = nil;\n            weakSelf.notificationCollection = nil;\n        }\n        \n        weakSelf.notificationCollection = weakSelf.fetchRequest.fetchObjects;\n        weakSelf.notificationToken = [weakSelf.notificationCollection\n                                      addNotificationBlock:^(id<RLMCollection>  _Nullable collection,\n                                                             RLMCollectionChange * _Nullable change,\n                                                             NSError * _Nullable error) {\n                                          if (!error &&\n                                              change) {\n                                              // Create the change sets\n                                              NSSet *addedSafeObjects = [weakSelf safeObjectsFromChanges:change.insertions withCollection:collection isInsertion:YES];\n                                              NSSet *deletedSafeObjects = [weakSelf safeObjectsFromChanges:change.deletions withCollection:collection isInsertion:NO];\n                                              NSSet *changedSafeObjects = [weakSelf safeObjectsFromChanges:change.modifications withCollection:collection isInsertion:NO];\n                                              \n                                              [weakSelf calculateChangesWithAddedSafeObjects:addedSafeObjects\n                                                                          deletedSafeObjects:deletedSafeObjects\n                                                                          changedSafeObjects:changedSafeObjects\n                                                                                       realm:collection.realm];\n                                          }\n                                      }];\n    });\n    \n    CFRunLoopWakeUp(self.notificationRunLoop.getCFRunLoop);\n}\n\n- (void)unregisterChangeNotifications\n{\n    // Remove the notifications\n    if (self.notificationToken) {\n        [self.notificationToken invalidate];\n        self.notificationToken = nil;\n    }\n    \n    // Stop the run loop\n    if (self.notificationRunLoop) {\n        CFRunLoopStop(self.notificationRunLoop.getCFRunLoop);\n        self.notificationRunLoop = nil;\n    }\n}\n\n#pragma mark - Change Calculations\n\n- (void)calculateChangesWithAddedSafeObjects:(NSSet *)addedSafeObjects\n                          deletedSafeObjects:(NSSet *)deletedSafeObjects\n                          changedSafeObjects:(NSSet *)changedSafeObjects\n                                       realm:(RLMRealm *)realm\n{\n    @synchronized(self) {\n#ifdef DEBUG\n        NSAssert(addedSafeObjects, @\"Added safe objects can't be nil\");\n        NSAssert(deletedSafeObjects, @\"Deleted safe objects can't be nil\");\n        NSAssert(changedSafeObjects, @\"Changed safe objects can't be nil\");\n        NSAssert(realm, @\"Realm can't be nil\");\n#endif\n        /**\n         *  If we are not on the main thread then use a semaphore\n         *  to prevent condition where subsequent processing runs\n         *  before the async delegate calls complete on main thread\n         */\n        BOOL useSem = NO;\n        \n        dispatch_semaphore_t sem = dispatch_semaphore_create(0);\n        \n        if (![NSThread isMainThread]) {\n            useSem = YES;\n        }\n        \n        typeof(self) __weak weakSelf = self;\n        \n        /**\n         *  Refresh both the cache and main Realm.\n         *\n         *  NOTE: must use helper refresh method, so that\n         *  we prevent acting on the duplicate notification\n         *  triggered by the refresh.\n         *\n         *  This is a requirement for any refresh called\n         *  synchronously from a RLMRealmDidChangeNotification.\n         */\n        RLMRealm *cacheRealm = [self cacheRealm];\n        \n        RBQControllerCacheObject *cache = [self cacheInRealm:cacheRealm];\n        \n#ifdef DEBUG\n        NSAssert(cache, @\"Cache can't be nil!\");\n#endif\n        \n        RBQStateObject *state = [self createStateObjectWithFetchRequest:self.fetchRequest\n                                                                  realm:realm\n                                                                  cache:cache\n                                                             cacheRealm:cacheRealm];\n        \n        RBQChangeSetsObject *changeSets =\n        [self createChangeSetsWithAddedSafeObjects:addedSafeObjects\n                                deletedSafeObjects:deletedSafeObjects\n                                changedSafeObjects:changedSafeObjects\n                                             state:state];\n        \n        \n        // Make sure we actually identified changes\n        // (changes might not match entity name)\n        if (!changeSets) {\n#ifdef DEBUG\n            NSLog(@\"No change objects or section changes found!\");\n#endif\n            return;\n        }\n        \n        RBQSectionChangesObject *sectionChanges = [self createSectionChangesWithChangeSets:changeSets\n                                                                                     state:state];\n\n        if ([self.delegate respondsToSelector:@selector(controllerWillChangeContent:)]) {\n\n            [self runOnMainThread:^(){\n                [weakSelf.delegate controllerWillChangeContent:weakSelf];\n            }];\n        }\n\n        [state.cacheRealm beginWriteTransaction];\n        \n        // Create Object To Gather Up Derived Changes\n        RBQDerivedChangesObject *derivedChanges = [self deriveChangesWithChangeSets:changeSets\n                                                                     sectionChanges:sectionChanges\n                                                                              state:state];\n\n\t\tif(self.logging) {\n\t\t\tNSLog(@\"%lu Derived Inserted Sections\",(unsigned long)derivedChanges.insertedSectionChanges.count);\n\t\t\tNSLog(@\"%lu Derived Deleted Sections\",(unsigned long)derivedChanges.deletedSectionChanges.count);\n\t\t\tNSLog(@\"%lu Derived Added Objects\",(unsigned long)derivedChanges.insertedObjectChanges.count);\n\t\t\tNSLog(@\"%lu Derived Deleted Objects\",(unsigned long)derivedChanges.deletedObjectChanges.count);\n\t\t\tNSLog(@\"%lu Derived Moved Objects\",(unsigned long)derivedChanges.movedObjectChanges.count);\n\t\t}\n\t\t\n        // Apply Derived Changes To Cache\n        [self applyDerivedChangesToCache:derivedChanges\n                                   state:state];\n        \n        [state.cacheRealm commitWriteTransaction];\n        \n        [self runOnMainThread:^(){\n            if ([weakSelf.delegate respondsToSelector:@selector(controllerDidChangeContent:)]) {\n                [weakSelf.delegate controllerDidChangeContent:weakSelf];\n            }\n            \n            if (useSem) {\n                dispatch_semaphore_signal(sem);\n            }\n        }];\n        \n        if (useSem) {\n            dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);\n        }\n    }\n}\n\n- (void)applyDerivedChangesToCache:(RBQDerivedChangesObject *)derivedChanges\n                             state:(RBQStateObject *)state\n{\n#ifdef DEBUG\n    NSAssert(derivedChanges, @\"Derived changes can't be nil!\");\n    NSAssert(state, @\"State can't be nil!\");\n#endif\n    \n    // Apply Section Changes To Cache (deletes in reverse order, then inserts)\n    for (NSOrderedSet *sectionChanges in @[derivedChanges.deletedSectionChanges,\n                                           derivedChanges.insertedSectionChanges]) {\n        \n        for (RBQSectionChangeObject *sectionChange in sectionChanges) {\n            \n            if (sectionChange.changeType == NSFetchedResultsChangeDelete) {\n#ifdef DEBUG\n                NSAssert(sectionChange.previousIndex.unsignedIntegerValue < state.cache.sections.count, @\"Attemting to delete index that is already gone!\");\n#endif\n                // Remove the section from Realm cache\n                [state.cache.realm deleteObject:sectionChange.section];\n            }\n            else if (sectionChange.changeType == NSFetchedResultsChangeInsert) {\n                \n#ifdef DEBUG\n                NSAssert(sectionChange.updatedIndex.unsignedIntegerValue <= state.cache.sections.count, @\"Attemting to insert at index beyond bounds!\");\n#endif\n                // Add the section to the cache\n                [state.cache.sections insertObject:sectionChange.section\n                                           atIndex:sectionChange.updatedIndex.unsignedIntegerValue];\n            }\n        }\n    }\n    \n    // Apply Object Changes To Cache (Must apply in correct order!)\n    for (NSOrderedSet *objectChanges in @[derivedChanges.deletedObjectChanges,\n                                          derivedChanges.insertedObjectChanges,\n                                          derivedChanges.movedObjectChanges]) {\n        \n        for (RBQObjectChangeObject *objectChange in objectChanges) {\n            \n            if (objectChange.changeType == NSFetchedResultsChangeDelete) {\n                \n                // Remove the object from the section\n                RBQSectionCacheObject *section = objectChange.previousCacheObject.section;\n                \n                [section.objects removeObjectAtIndex:objectChange.previousIndexPath.row];\n                \n                // Remove the object\n                [state.cacheRealm deleteObject:objectChange.previousCacheObject];\n            }\n            else if (objectChange.changeType == NSFetchedResultsChangeInsert) {\n                // Insert the object\n                [state.cacheRealm addObject:objectChange.updatedCacheObject];\n                \n                // Add the object to the objects array and not just to the Realm!\n                [state.cache.objects addObject:objectChange.updatedCacheObject];\n                \n                // Get the section and add it to it\n                RBQSectionCacheObject *section =\n                [RBQSectionCacheObject objectInRealm:state.cacheRealm\n                                       forPrimaryKey:objectChange.updatedCacheObject.sectionKeyPathValue];\n                \n#ifdef DEBUG\n                NSAssert(objectChange.updatedIndexpath.row <= section.objects.count, @\"Attemting to insert at index beyond bounds!\");\n#endif\n                [section.objects insertObject:objectChange.updatedCacheObject\n                                      atIndex:objectChange.updatedIndexpath.row];\n                \n                objectChange.updatedCacheObject.section = section;\n            }\n            else if (objectChange.changeType == NSFetchedResultsChangeMove) {\n                // Delete to remove it from previous section\n                [state.cacheRealm deleteObject:objectChange.previousCacheObject];\n                \n                // Add it back in\n                [state.cacheRealm addObject:objectChange.updatedCacheObject];\n                \n                // Add the object to the objects array and not just to the Realm!\n                [state.cache.objects addObject:objectChange.updatedCacheObject];\n                \n                // Get the section and add it to it\n                RBQSectionCacheObject *section =\n                [RBQSectionCacheObject objectInRealm:state.cacheRealm\n                                       forPrimaryKey:objectChange.updatedCacheObject.sectionKeyPathValue];\n                \n#ifdef DEBUG\n                NSAssert(objectChange.updatedIndexpath.row <= section.objects.count, @\"Attemting to insert at index beyond bounds!\");\n#endif\n                \n                [section.objects insertObject:objectChange.updatedCacheObject\n                                      atIndex:objectChange.updatedIndexpath.row];\n                \n                objectChange.updatedCacheObject.section = section;\n            }\n        }\n    }\n}\n\n#pragma mark - Internal Cache\n\n// Create the internal cache for a fetch request\n- (void)createCacheWithRealm:(RLMRealm *)cacheRealm\n                   cacheName:(NSString *)cacheName\n             forFetchRequest:(RBQFetchRequest *)fetchRequest\n          sectionNameKeyPath:(NSString *)sectionNameKeyPath\n{\n    id<RLMCollection> fetchResults = [fetchRequest fetchObjects];\n    \n    // Check if we have a cache already\n    RBQControllerCacheObject *controllerCache = [RBQControllerCacheObject objectInRealm:cacheRealm\n                                                                          forPrimaryKey:cacheName];\n    \n    [cacheRealm beginWriteTransaction];\n    \n    /**\n     *  Reset the cache if the fetchRequest hash doesn't match\n     *  The count in the cache is off from the fetch results\n     *  The state was left in processing\n     *  The section name key path has changed\n     */\n    if (controllerCache.fetchRequestHash != fetchRequest.hash ||\n        controllerCache.objects.count != fetchResults.count ||\n        ![controllerCache.sectionNameKeyPath isEqualToString:sectionNameKeyPath]) {\n        \n        [cacheRealm deleteAllObjects];\n        \n        controllerCache = nil;\n    }\n    \n    if (!controllerCache) {\n        \n        controllerCache = [RBQControllerCacheObject cacheWithName:cacheName\n                                                 fetchRequestHash:fetchRequest.hash];\n        \n        RBQSectionCacheObject *section = nil;\n        \n        // Iterate over the results to create the section information\n        NSString *currentSectionTitle = nil;\n        \n        //No sections being used, so create default section\n        if (!sectionNameKeyPath) {\n            \n            currentSectionTitle = @\"\";\n            \n            section = [RBQSectionCacheObject cacheWithName:currentSectionTitle];\n            \n            section.firstObjectIndex = 0;\n        }\n        \n        NSUInteger count = 0;\n        \n        for (RLMObject *object in fetchResults) {\n            \n            if (sectionNameKeyPath) {\n                \n                // Check your sectionNameKeyPath if a crash occurs...\n                NSString *sectionTitle = [object valueForKeyPath:sectionNameKeyPath];\n                \n                // New Section Found --> Process It\n                if (![sectionTitle isEqualToString:currentSectionTitle]) {\n                    \n                    // If we already gathered up the section objects, then save them\n                    if (section.objects.count > 0) {\n                        \n                        section.lastObjectIndex = count - 1; // We advanced already so we need to save previous index\n                        \n                        // Add the section to Realm\n                        [cacheRealm addOrUpdateObject:section];\n                        \n                        // Add the section to the controller cache\n                        [controllerCache.sections addObject:section];\n                    }\n                    \n                    // Keep track of the section title so we create one section cache per value\n                    currentSectionTitle = sectionTitle;\n                    \n                    // Reset the section object array\n                    section = [RBQSectionCacheObject cacheWithName:currentSectionTitle];\n                    \n                    section.firstObjectIndex = count;\n                }\n            }\n            \n            // Save the final section (or if not using sections, the only section)\n            if (count == fetchResults.count - 1) {\n                \n                section.lastObjectIndex = count; // Set the last object index\n                \n                // Add the section to Realm\n                [cacheRealm addOrUpdateObject:section];\n                \n                [controllerCache.sections addObject:section];\n            }\n            \n            // Create the cache object\n            RBQObjectCacheObject *cacheObject = [RBQObjectCacheObject createCacheObjectWithObject:object\n                                                                              sectionKeyPathValue:currentSectionTitle];\n            \n            cacheObject.section = section;\n            \n            if (section) {\n                [section.objects addObject:cacheObject];\n            }\n            \n            [controllerCache.objects addObject:cacheObject];\n            \n            // Keep track of the count\n            count ++;\n        }\n        \n        // Set the section name key path, if available\n        if (sectionNameKeyPath) {\n            controllerCache.sectionNameKeyPath = sectionNameKeyPath;\n        }\n        \n        // Add cache to Realm\n        [cacheRealm addOrUpdateObject:controllerCache];\n    }\n    \n    [cacheRealm commitWriteTransaction];\n}\n\n#pragma mark - RBQStateObject\n\n- (RBQStateObject *)createStateObjectWithFetchRequest:(RBQFetchRequest *)fetchRequest\n                                                realm:(RLMRealm *)realm\n                                                cache:(RBQControllerCacheObject *)cache\n                                           cacheRealm:(RLMRealm *)cacheRealm\n{\n    \n#ifdef DEBUG\n    NSAssert(fetchRequest, @\"Fetch request can't be nil\");\n    NSAssert(realm, @\"Realm can't be nil\");\n    NSAssert(cache, @\"Cache can't be nil\");\n    NSAssert(cacheRealm, @\"Cache Realm can't be nil\");\n#endif\n    \n    // Setup the state object\n    RBQStateObject *stateObject = [[RBQStateObject alloc] init];\n    \n    stateObject.realm = realm;\n    \n    // Get the new list of safe fetch objects\n    stateObject.fetchResults = [fetchRequest fetchObjects];\n    \n    stateObject.cache = cache;\n    \n    stateObject.cacheRealm = cacheRealm;\n    \n    return stateObject;\n}\n\n#pragma mark - RBQChangeSetsObject\n\n- (RBQChangeSetsObject *)createChangeSetsWithAddedSafeObjects:(NSSet *)addedSafeObjects\n                                           deletedSafeObjects:(NSSet *)deletedSafeObjects\n                                           changedSafeObjects:(NSSet *)changedSafeObjects\n                                                        state:(RBQStateObject *)state\n{\n    \n#ifdef DEBUG\n    NSAssert(addedSafeObjects, @\"Added safe objects request can't be nil\");\n    NSAssert(deletedSafeObjects, @\"Deleted safe objects can't be nil\");\n    NSAssert(changedSafeObjects, @\"Changed safe objects can't be nil\");\n    NSAssert(state, @\"State object can't be nil\");\n#endif\n    \n    // Get Sections In Change Set\n    NSMutableOrderedSet *cacheSectionsInChangeSet = [[NSMutableOrderedSet alloc] init];\n    NSMutableOrderedSet *cacheObjectsChangeSet = [[NSMutableOrderedSet alloc] init];\n    NSMapTable *cacheObjectToSafeObject = [NSMapTable mapTableWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsStrongMemory];\n    \n    for (NSSet *changedObjects in @[addedSafeObjects, deletedSafeObjects, changedSafeObjects]) {\n        \n        for (RBQSafeRealmObject *safeObject in changedObjects) {\n            \n            // Get the section titles in change set\n            // Attempt to get the object from non-cache Realm\n            RLMObject *object = [RBQSafeRealmObject objectfromSafeObject:safeObject];\n            \n            // Get the string value of the primaryKeyValue\n            NSString *primaryKeyStringValue = [NSString stringWithFormat:@\"%@\",safeObject.primaryKeyValue];\n            \n            // If the changed object doesn't match the predicate and\n            // was not already in the cache, then skip it\n            if (![self.fetchRequest evaluateObject:object] &&\n                ![RBQObjectCacheObject objectInRealm:state.cacheRealm\n                                       forPrimaryKey:primaryKeyStringValue]) {\n                    continue;\n                }\n            \n            NSString *sectionTitle = nil;\n            \n            if (object &&\n                self.sectionNameKeyPath) {\n                sectionTitle = [object valueForKeyPath:self.sectionNameKeyPath];\n            }\n            else if (self.sectionNameKeyPath) {\n                RBQObjectCacheObject *oldCacheObject =\n                [RBQObjectCacheObject objectInRealm:state.cacheRealm\n                                      forPrimaryKey:primaryKeyStringValue];\n                \n                sectionTitle = oldCacheObject.section.name;\n            }\n            // We aren't using sections so create a dummy one with no text\n            else {\n                sectionTitle = @\"\";\n            }\n            \n            if (sectionTitle) {\n                RBQSectionCacheObject *section = [RBQSectionCacheObject objectInRealm:state.cacheRealm\n                                                                        forPrimaryKey:sectionTitle];\n                \n                if (!section) {\n                    section = [RBQSectionCacheObject cacheWithName:sectionTitle];\n                }\n                \n                [cacheSectionsInChangeSet addObject:section];\n            }\n            \n            // Get the cache object\n            RBQObjectCacheObject *cacheObject =\n            [RBQObjectCacheObject createCacheObjectWithSafeObject:safeObject\n                                              sectionKeyPathValue:sectionTitle];\n            \n            [cacheObjectsChangeSet addObject:cacheObject];\n            \n            // Set the map to quickly retrieve safe objects later on\n            [cacheObjectToSafeObject setObject:safeObject forKey:cacheObject];\n        }\n    }\n    \n    if (cacheSectionsInChangeSet.count > 0 ||\n        cacheObjectsChangeSet.count > 0) {\n        \n        RBQChangeSetsObject *changeSets = [[RBQChangeSetsObject alloc] init];\n        \n        changeSets.cacheSectionsChangeSet = cacheSectionsInChangeSet.copy;\n        changeSets.cacheObjectsChangeSet = cacheObjectsChangeSet.copy;\n        changeSets.cacheObjectToSafeObject = cacheObjectToSafeObject;\n        \n        return changeSets;\n    }\n    \n    return nil;\n}\n\n#pragma mark - RBQSectionChangesObject\n\n- (RBQSectionChangesObject *)createSectionChangesWithChangeSets:(RBQChangeSetsObject *)changeSets\n                                                          state:(RBQStateObject *)state\n{\n#ifdef DEBUG\n    NSAssert(changeSets, @\"Change sets can't be nil\");\n    NSAssert(state, @\"State can't be nil\");\n#endif\n    \n    // Get Old Sections\n    NSMutableOrderedSet *oldSections = [[NSMutableOrderedSet alloc] init];\n    \n    for (RBQSectionCacheObject *section in state.cache.sections) {\n        [oldSections addObject:section];\n    }\n    \n    // Combine Old With Change Set (without dupes!)\n    NSMutableOrderedSet *oldAndChange = [NSMutableOrderedSet orderedSetWithOrderedSet:oldSections];\n    \n    for (RBQSectionCacheObject *section in changeSets.cacheSectionsChangeSet) {\n        if (![oldAndChange containsObject:section]) {\n            [oldAndChange addObject:section];\n        }\n    }\n    \n    NSMutableOrderedSet *newSections = [[NSMutableOrderedSet alloc] init];\n    NSMutableOrderedSet *deletedSections = [[NSMutableOrderedSet alloc] init];\n    \n    // Loop through to identify the new sections in fetchResults\n    for (RBQSectionCacheObject *section in oldAndChange) {\n        \n        id<RLMCollection> sectionResults = nil;\n        \n        if (self.sectionNameKeyPath) {\n            sectionResults = [state.fetchResults objectsWhere:@\"%K == %@\",\n                              self.sectionNameKeyPath,\n                              section.name];\n        }\n        // We aren't using sections, so just use all results\n        else {\n            sectionResults = state.fetchResults;\n        }\n        \n        if (sectionResults.count > 0) {\n            RLMObject *firstObject = [sectionResults firstObject];\n            RLMObject *lastObject = [sectionResults lastObject];\n            NSInteger firstObjectIndex = [state.fetchResults indexOfObject:firstObject];\n            NSInteger lastObjectIndex = [state.fetchResults indexOfObject:lastObject];\n            \n            // Write change to object index to cache Realm\n            [state.cacheRealm beginWriteTransaction];\n            \n            section.firstObjectIndex = firstObjectIndex;\n            section.lastObjectIndex = lastObjectIndex;\n            \n            [state.cacheRealm commitWriteTransaction];\n            \n            // Get the entire list of all sections after the change\n            [newSections addObject:section];\n        }\n        // Add to deleted only if this section was already in cache\n        // Possible to add a section that has no data (so we don't want to insert or delete it)\n        else {\n            if ([state.cache.sections indexOfObject:section] != NSNotFound) {\n                [deletedSections addObject:section];\n            }\n        }\n    }\n    \n    // Now sort the sections (sort inserts to be ascending)\n    NSSortDescriptor *sortByFirstIndex =\n    [NSSortDescriptor sortDescriptorWithKey:@\"firstObjectIndex\" ascending:YES];\n    [newSections sortUsingDescriptors:@[sortByFirstIndex]];\n    \n    // Sort the deleted sections\n    NSSortDescriptor *descendingDeleteSort =\n    [NSSortDescriptor sortDescriptorWithKey:@\"firstObjectIndex\" ascending:NO];\n    [deletedSections sortUsingDescriptors:@[descendingDeleteSort]];\n    \n    // Find inserted sections\n    NSMutableOrderedSet *insertedSections = [NSMutableOrderedSet orderedSetWithOrderedSet:newSections];\n    // Remove the old sections to identify only the inserted\n    [insertedSections removeObjectsInArray:oldSections.array];\n    \n    RBQSectionChangesObject *sectionChanges = [[RBQSectionChangesObject alloc] init];\n    \n    // Save the section collections\n    sectionChanges.oldCacheSections = oldSections.copy;\n    sectionChanges.deletedCacheSections = deletedSections.copy;\n    sectionChanges.insertedCacheSections = insertedSections.copy;\n    sectionChanges.sortedNewCacheSections = newSections.copy;\n    \n    return sectionChanges;\n}\n\n#pragma mark - RBQObjectChangeObject\n\n- (RBQObjectChangeObject *)objectChangeWithCacheObject:(RBQObjectCacheObject *)cacheObject\n                                            changeSets:(RBQChangeSetsObject *)changeSets\n                                        sectionChanges:(RBQSectionChangesObject *)sectionChanges\n                                                 state:(RBQStateObject *)state\n{\n#ifdef DEBUG\n    NSAssert(cacheObject, @\"Cache object can't be nil\");\n    NSAssert(changeSets, @\"Change sets can't be nil\");\n    NSAssert(sectionChanges, @\"Change sets can't be nil\");\n    NSAssert(state, @\"State can't be nil\");\n#endif\n    \n    RBQObjectChangeObject *objectChange = [[RBQObjectChangeObject alloc] init];\n    \n    objectChange.previousCacheObject =\n    [RBQObjectCacheObject objectInRealm:state.cacheRealm\n                          forPrimaryKey:cacheObject.primaryKeyStringValue];\n    \n    RBQSectionCacheObject *oldSectionForObject = objectChange.previousCacheObject.section;\n    \n    // Get old indexPath if we can\n    if (oldSectionForObject &&\n        objectChange.previousCacheObject) {\n        \n        NSInteger oldSectionIndex = [sectionChanges.oldCacheSections indexOfObject:oldSectionForObject];\n        \n        NSInteger oldRowIndex = [oldSectionForObject.objects indexOfObject:objectChange.previousCacheObject];\n        \n        objectChange.previousIndexPath = [NSIndexPath indexPathForRow:oldRowIndex inSection:oldSectionIndex];\n    }\n    \n    // Get new indexPath if we can\n    // No need to refresh on the non-cache Realm, since this causes recursion\n    // (refresh sends RLMRealmDidChangeNotification causing FRC processing to start anew)\n    RLMObject *updatedObject = [RBQObjectCacheObject objectInRealm:state.realm\n                                                    forCacheObject:cacheObject];\n    \n    if (updatedObject) {\n        NSInteger newAllObjectIndex = [state.fetchResults indexOfObject:updatedObject];\n        \n        if (newAllObjectIndex != NSNotFound) {\n            RBQSectionCacheObject *newSection = nil;\n            \n            NSInteger newSectionIndex = 0;\n            \n            for (RBQSectionCacheObject *section in sectionChanges.sortedNewCacheSections) {\n                if (newAllObjectIndex >= section.firstObjectIndex &&\n                    newAllObjectIndex <= section.lastObjectIndex) {\n                    \n                    newSection = section;\n                    \n                    break;\n                }\n                \n                newSectionIndex ++;\n            }\n            \n            NSInteger newRowIndex = newAllObjectIndex - newSection.firstObjectIndex;\n            \n            objectChange.updatedCacheObject = cacheObject;\n            objectChange.updatedIndexpath = [NSIndexPath indexPathForRow:newRowIndex\n                                                               inSection:newSectionIndex];\n        }\n    }\n    \n    if (objectChange.previousIndexPath ||\n        objectChange.updatedIndexpath) {\n        \n        return objectChange;\n    }\n    \n    return nil;\n}\n\n#pragma mark - RBQDerivedChangesObject\n\n- (RBQDerivedChangesObject *)deriveChangesWithChangeSets:(RBQChangeSetsObject *)changeSets\n                                          sectionChanges:(RBQSectionChangesObject *)sectionChanges\n                                                   state:(RBQStateObject *)state\n{\n#ifdef DEBUG\n    NSAssert(changeSets, @\"Change sets can't be nil!\");\n    NSAssert(sectionChanges, @\"Section changes can't be nil!\");\n    NSAssert(state, @\"State can't be nil!\");\n#endif\n    \n    RBQDerivedChangesObject *derivedChanges = [[RBQDerivedChangesObject alloc] init];\n    \n    // ---------------\n    // Section Changes\n    // ---------------\n    \n    [self updateDerivedChangesWithSectionChanges:derivedChanges\n                                      changeSets:changeSets\n                                  sectionChanges:sectionChanges];\n#ifdef DEBUG\n    NSAssert(derivedChanges.deletedSectionChanges, @\"Deleted sections changes array can't be nil!\");\n    NSAssert(derivedChanges.insertedSectionChanges, @\"Inserted sections changes array can't be nil!\");\n#endif\n    \n    // ---------------\n    // Object Changes\n    // ---------------\n    \n    [self updateDerivedChangesWithObjectChanges:derivedChanges\n                                     changeSets:changeSets\n                                 sectionChanges:sectionChanges\n                                          state:state];\n    \n#ifdef DEBUG\n    NSAssert(derivedChanges.deletedObjectChanges, @\"Deleted objects array can't be nil!\");\n    NSAssert(derivedChanges.insertedObjectChanges, @\"Inserted objects array can't be nil!\");\n    NSAssert(derivedChanges.movedObjectChanges, @\"Moved objects array can't be nil!\");\n#endif\n    \n    return derivedChanges;\n}\n\n- (void)updateDerivedChangesWithSectionChanges:(RBQDerivedChangesObject *)derivedChanges\n                                    changeSets:(RBQChangeSetsObject *)changeSets\n                                sectionChanges:(RBQSectionChangesObject *)sectionChanges\n{\n#ifdef DEBUG\n    NSAssert(changeSets, @\"Change sets can't be nil!\");\n    NSAssert(sectionChanges, @\"Section changes can't be nil!\");\n    NSAssert(self.fetchRequest, @\"Fetch request can't be nil!\");\n#endif\n    \n    NSMutableOrderedSet *deletedSectionChanges = [[NSMutableOrderedSet alloc] initWithCapacity:sectionChanges.deletedCacheSections.count];\n    NSMutableOrderedSet *insertedSectionChanges = [[NSMutableOrderedSet alloc] initWithCapacity:sectionChanges.insertedCacheSections.count];\n    \n    typeof(self) __weak weakSelf = self;\n    \n    // Deleted Sections\n    for (RBQSectionCacheObject *section in sectionChanges.deletedCacheSections) {\n        \n        NSInteger oldSectionIndex = [sectionChanges.oldCacheSections indexOfObject:section];\n        \n        RBQFetchedResultsSectionInfo *sectionInfo =\n        [RBQFetchedResultsSectionInfo createSectionWithName:section.name\n                                         sectionNameKeyPath:self.sectionNameKeyPath\n                                               fetchRequest:self.fetchRequest];\n        \n        if ([self.delegate\n             respondsToSelector:@selector(controller:didChangeSection:atIndex:forChangeType:)])\n        {\n            [self runOnMainThread:^(){\n                [weakSelf.delegate controller:weakSelf\n                             didChangeSection:sectionInfo\n                                      atIndex:oldSectionIndex\n                                forChangeType:NSFetchedResultsChangeDelete];\n            }];\n        }\n        \n        // Create the section change object\n        RBQSectionChangeObject *sectionChange = [[RBQSectionChangeObject alloc] init];\n        sectionChange.previousIndex = @(oldSectionIndex);\n        sectionChange.section = section;\n        sectionChange.changeType = NSFetchedResultsChangeDelete;\n        \n        [deletedSectionChanges addObject:sectionChange];\n    }\n    // Inserted Sections\n    for (RBQSectionCacheObject *section in sectionChanges.insertedCacheSections) {\n        \n        NSInteger newSectionIndex = [sectionChanges.sortedNewCacheSections indexOfObject:section];\n        \n        RBQFetchedResultsSectionInfo *sectionInfo =\n        [RBQFetchedResultsSectionInfo createSectionWithName:section.name\n                                         sectionNameKeyPath:self.sectionNameKeyPath\n                                               fetchRequest:self.fetchRequest];\n        \n        if ([self.delegate\n             respondsToSelector:@selector(controller:didChangeSection:atIndex:forChangeType:)])\n        {\n            [self runOnMainThread:^(){\n                [weakSelf.delegate controller:weakSelf\n                             didChangeSection:sectionInfo\n                                      atIndex:newSectionIndex\n                                forChangeType:NSFetchedResultsChangeInsert];\n            }];\n        }\n        \n        // Create the section change object\n        RBQSectionChangeObject *sectionChange = [[RBQSectionChangeObject alloc] init];\n        sectionChange.updatedIndex = @(newSectionIndex);\n        sectionChange.section = section;\n        sectionChange.changeType = NSFetchedResultsChangeInsert;\n        \n        [insertedSectionChanges addObject:sectionChange];\n    }\n    \n    // Sort the changes (Deleted is reverse sort)\n    [deletedSectionChanges sortUsingComparator:^NSComparisonResult(RBQSectionChangeObject *sec1,\n                                                                   RBQSectionChangeObject *sec2) {\n        // Compare the index (reverse sort)\n        return [sec2.previousIndex compare:sec1.previousIndex];\n    }];\n    \n    [insertedSectionChanges sortUsingComparator:^NSComparisonResult(RBQSectionChangeObject *sec1,\n                                                                    RBQSectionChangeObject *sec2) {\n        // Compare the index\n        return [sec1.updatedIndex compare:sec2.updatedIndex];\n    }];\n    \n    derivedChanges.deletedSectionChanges = deletedSectionChanges.copy;\n    derivedChanges.insertedSectionChanges = insertedSectionChanges.copy;\n}\n\n- (void)updateDerivedChangesWithObjectChanges:(RBQDerivedChangesObject *)derivedChanges\n                                   changeSets:(RBQChangeSetsObject *)changeSets\n                               sectionChanges:(RBQSectionChangesObject *)sectionChanges\n                                        state:(RBQStateObject *)state\n{\n#ifdef DEBUG\n    NSAssert(derivedChanges, @\"Derived changes can't be nil!\");\n    NSAssert(changeSets, @\"Change sets can't be nil!\");\n    NSAssert(sectionChanges, @\"Section changes can't be nil!\");\n    NSAssert(state, @\"State can't be nil!\");\n#endif\n    \n    typeof(self) __weak weakSelf = self;\n    \n    // We will first process to find inserts/deletes\n    NSMutableOrderedSet *deletedObjectChanges = [[NSMutableOrderedSet alloc] init];\n    NSMutableOrderedSet *insertedObjectChanges = [[NSMutableOrderedSet alloc] init];\n    \n    NSMutableDictionary *deletedObjectChangesBySection = [[NSMutableDictionary alloc] init];\n    NSMutableDictionary *insertedObjectChangesBySection = [[NSMutableDictionary alloc] init];\n    \n    /**\n     *  We will collect any cache objects that aren't inserts/deletes to\n     *  process them in a second batch to find moves/updates\n     */\n    NSMutableSet *moveOrUpdateObjectChanges = [[NSMutableSet alloc] init];\n    \n    for (RBQObjectCacheObject *cacheObject in changeSets.cacheObjectsChangeSet) {\n        \n        RBQObjectChangeObject *objectChange = [self objectChangeWithCacheObject:cacheObject\n                                                                     changeSets:changeSets\n                                                                 sectionChanges:sectionChanges\n                                                                          state:state];\n        \n        // If we didn't get an object change then skip\n        if (!objectChange) {\n            continue;\n        }\n        \n        // Deleted Objects\n        if (!objectChange.updatedIndexpath &&\n            objectChange.previousIndexPath) {\n            \n            RBQSafeRealmObject *safeObject =\n            [changeSets.cacheObjectToSafeObject objectForKey:objectChange.previousCacheObject];\n            \n#ifdef DEBUG\n            NSAssert(safeObject, @\"Safe object can't be nil!\");\n#endif\n            \n            if ([self.delegate respondsToSelector:\n                 @selector(controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:)])\n            {\n                [self runOnMainThread:^(){\n                    [weakSelf.delegate controller:weakSelf\n                                  didChangeObject:safeObject\n                                      atIndexPath:objectChange.previousIndexPath\n                                    forChangeType:NSFetchedResultsChangeDelete\n                                     newIndexPath:nil];\n                }];\n            }\n            \n            objectChange.changeType = NSFetchedResultsChangeDelete;\n            \n            [deletedObjectChanges addObject:objectChange];\n            \n            NSMutableOrderedSet *deletedChangesInSection =\n            [deletedObjectChangesBySection objectForKey:@(objectChange.previousIndexPath.section)];\n            \n            if (!deletedChangesInSection) {\n                deletedChangesInSection = [[NSMutableOrderedSet alloc] init];\n                \n                [deletedObjectChangesBySection setObject:deletedChangesInSection\n                                                  forKey:@(objectChange.previousIndexPath.section)];\n            }\n            \n            [deletedChangesInSection addObject:objectChange];\n        }\n        // Inserted Objects\n        else if (objectChange.updatedIndexpath &&\n                 !objectChange.previousIndexPath) {\n            \n            RBQSafeRealmObject *safeObject =\n            [changeSets.cacheObjectToSafeObject objectForKey:objectChange.updatedCacheObject];\n            \n#ifdef DEBUG\n            NSAssert(safeObject, @\"Safe object can't be nil!\");\n#endif\n            \n            if ([self.delegate respondsToSelector:\n                 @selector(controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:)])\n            {\n                [self runOnMainThread:^(){\n                    [weakSelf.delegate controller:weakSelf\n                                  didChangeObject:safeObject\n                                      atIndexPath:nil\n                                    forChangeType:NSFetchedResultsChangeInsert\n                                     newIndexPath:objectChange.updatedIndexpath];\n                }];\n            }\n            objectChange.changeType = NSFetchedResultsChangeInsert;\n            \n            [insertedObjectChanges addObject:objectChange];\n            \n            NSMutableOrderedSet *insertedChangesInSection =\n            [insertedObjectChangesBySection objectForKey:@(objectChange.updatedIndexpath.section)];\n            \n            if (!insertedChangesInSection) {\n                insertedChangesInSection = [[NSMutableOrderedSet alloc] init];\n                \n                [insertedObjectChangesBySection setObject:insertedChangesInSection\n                                                   forKey:@(objectChange.updatedIndexpath.section)];\n            }\n\n            [insertedChangesInSection addObject:objectChange];\n        }\n        // For all objectChanges that are not inserts/deletes, store them to process next\n        else {\n            [moveOrUpdateObjectChanges addObject:objectChange];\n        }\n    }\n    \n    // Sort the collections (deleted reverse sort)\n    [deletedObjectChanges sortUsingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                  RBQObjectChangeObject *obj2) {\n        // Compare the indexPaths (reverse sort)\n        return [obj2.previousIndexPath compare:obj1.previousIndexPath];\n    }];\n    \n    for (NSNumber *key in deletedObjectChangesBySection) {\n        NSMutableOrderedSet *deletedChangesInSection = deletedObjectChangesBySection[key];\n        \n        [deletedChangesInSection sortUsingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                         RBQObjectChangeObject *obj2) {\n            // Compare the indexPaths (reverse sort)\n            return [obj2.previousIndexPath compare:obj1.previousIndexPath];\n        }];\n    }\n    \n    [insertedObjectChanges sortUsingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                   RBQObjectChangeObject *obj2) {\n        // Compare the indexPaths\n        return [obj1.updatedIndexpath compare:obj2.updatedIndexpath];\n    }];\n    \n    for (NSNumber *key in insertedObjectChangesBySection) {\n        NSMutableOrderedSet *insertedChangesInSection = insertedObjectChangesBySection[key];\n        \n        [insertedChangesInSection sortUsingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                          RBQObjectChangeObject *obj2) {\n            // Compare the indexPaths\n            return [obj1.updatedIndexpath compare:obj2.updatedIndexpath];\n        }];\n    }\n    \n    NSMutableOrderedSet *movedObjectChanges = [[NSMutableOrderedSet alloc] init];\n    \n    /**\n     *  Now we will process the remaining items to identify moves/updates\n     *\n     *  To accurately find moves, we need to calculate the absolute change to the section and row\n     *\n     *  To identify absolute changes, we need to figure out the relative changes to sections and rows\n     *\n     *  Initially, relative section changes were calculated, but in practice UITableview just wants\n     *  section changes reported as moves. However, there is a unique situation where the indexPath\n     *  doesn't change on an object, but the section was deleted and inserted on itself, so we use\n     *  the section changes to catch this scenario.\n     */\n    \n    \n    /**\n     *  First we will create two collections: the inserted section indexes and deleted section indexes\n     *\n     *  Both of these will be used for any relative section change checking\n     *\n     *  Note: this might not need to be sorted as a potential performance improvement (legacy\n     *  from calculating relative section changes, but leaving aside for now).\n     */\n    \n    NSMutableOrderedSet *insertedSectionIndexes =\n    [[NSMutableOrderedSet alloc] initWithCapacity:sectionChanges.insertedCacheSections.count];\n    \n    for (RBQSectionCacheObject *sectionCache in sectionChanges.insertedCacheSections) {\n        NSNumber *index = @([sectionChanges.sortedNewCacheSections indexOfObject:sectionCache]);\n        \n        [insertedSectionIndexes addObject:index];\n    }\n    \n    // Sort the indexes\n    [insertedSectionIndexes sortUsingComparator:^NSComparisonResult(NSNumber *num1,\n                                                                    NSNumber *num2) {\n        // Compare the NSNumbers\n        return [num1 compare:num2];\n    }];\n    \n    NSMutableOrderedSet *deletedSectionIndexes =\n    [[NSMutableOrderedSet alloc] initWithCapacity:sectionChanges.deletedCacheSections.count];\n    \n    for (RBQSectionCacheObject *sectionCache in sectionChanges.deletedCacheSections) {\n        NSNumber *index = @([sectionChanges.oldCacheSections indexOfObject:sectionCache]);\n        \n        [deletedSectionIndexes addObject:index];\n    }\n    \n    // Sort the indexes\n    [deletedSectionIndexes sortUsingComparator:^NSComparisonResult(NSNumber *num1,\n                                                                   NSNumber *num2) {\n        // Compare the NSNumbers\n        return [num1 compare:num2];\n    }];\n    \n    /**\n     *  Now that we have the inserted/deleted section index collections and\n     *  the inserted/deleted objectChange collections, we can process the remaining\n     *  objectChanges to accurately identify moves\n     */\n    \n    for (RBQObjectChangeObject *objectChange in moveOrUpdateObjectChanges) {\n        \n        /**\n         *  Since we didn't find a section change, now we have to get\n         *  the relative row changes for the section\n         */\n        NSOrderedSet *insertedObjectChangesForSection =\n        [insertedObjectChangesBySection objectForKey:@(objectChange.updatedIndexpath.section)];\n        \n        NSUInteger rowInserts = 0;\n        \n        if (insertedObjectChangesForSection) {\n            /**\n             *  Get the number of row inserts that occurred\n             *  before the updated indexPath\n             *\n             *  We calculate this by asking for the index if\n             *  we were to insert object into the insert collection\n             */\n            NSRange sortRangeRowInserts = NSMakeRange(0, insertedObjectChanges.count);\n            rowInserts =\n            [insertedObjectChanges indexOfObject:objectChange\n                                   inSortedRange:sortRangeRowInserts\n                                         options:NSBinarySearchingInsertionIndex\n                                 usingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                     RBQObjectChangeObject *obj2) {\n                                     // Compare the indexPaths\n                                     return [obj1.updatedIndexpath compare:obj2.updatedIndexpath];\n                                 }];\n        }\n        \n        NSOrderedSet *deletedObjectChangesForSection =\n        [deletedObjectChangesBySection objectForKey:@(objectChange.previousIndexPath.section)];\n        \n        NSUInteger rowDeletes = 0;\n        \n        if (deletedObjectChangesForSection) {\n            /**\n             *  Get the number of row deletes that occurred\n             *  before the updated indexPath\n             *\n             *  We calculate this by asking for the index if\n             *  we were to insert object into the delete collection\n             */\n            NSRange sortRangeRowDeletes = NSMakeRange(0, deletedObjectChanges.count);\n            rowDeletes =\n            [deletedObjectChanges indexOfObject:objectChange\n                                  inSortedRange:sortRangeRowDeletes\n                                        options:NSBinarySearchingInsertionIndex\n                                usingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                    RBQObjectChangeObject *obj2) {\n                                    // Compare the indexPaths\n                                    return [obj1.previousIndexPath compare:obj2.previousIndexPath];\n                                }];\n        }\n        \n        NSInteger relativeRowChange = rowInserts - rowDeletes;\n        \n        /**\n         *  If an object is moving from one section to another,\n         *  but that section index stays the same this needs to be\n         *  reported as a move and not an update (the indexPath's are\n         *  the same, but UITableView wants a move reported).\n         */\n        BOOL objectSectionReplacedItself = NO;\n        \n        if ([objectChange.updatedIndexpath compare:objectChange.previousIndexPath] == NSOrderedSame &&\n            ([insertedSectionIndexes containsObject:@(objectChange.updatedIndexpath.section)] ||\n             [deletedSectionIndexes containsObject:@(objectChange.updatedIndexpath.section)])) {\n                \n                objectSectionReplacedItself = YES;\n            }\n        \n        /**\n         *  Now that we have the relative row change, we can identify if there\n         *  was an absolute change and report the move.\n         \n         *  Also report move if the section change replaced itself\n         *  (i.e. indexPath is the same, but we deleted and inserted\n         *  a section at the same index)\n         *\n         *  Report a move if the object changes section (even if relative)\n         */\n        if (([objectChange.updatedIndexpath compare:objectChange.previousIndexPath] != NSOrderedSame &&\n             (objectChange.updatedIndexpath.row - objectChange.previousIndexPath.row) != relativeRowChange) ||\n            objectChange.updatedIndexpath.section != objectChange.previousIndexPath.section ||\n            objectSectionReplacedItself) {\n            \n            RBQSafeRealmObject *safeObject =\n            [changeSets.cacheObjectToSafeObject objectForKey:objectChange.previousCacheObject];\n            \n#ifdef DEBUG\n            NSAssert(safeObject, @\"Safe object can't be nil!\");\n#endif\n            \n            if ([self.delegate respondsToSelector:\n                 @selector(controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:)])\n            {\n                [self runOnMainThread:^(){\n                    [weakSelf.delegate controller:weakSelf\n                                  didChangeObject:safeObject\n                                      atIndexPath:objectChange.previousIndexPath\n                                    forChangeType:NSFetchedResultsChangeMove\n                                     newIndexPath:objectChange.updatedIndexpath];\n                }];\n            }\n            \n            objectChange.changeType = NSFetchedResultsChangeMove;\n            \n            [movedObjectChanges addObject:objectChange];\n        }\n        /**\n         *  Finally, if the objectChange wasn't an absolute section change or an\n         *  absolute row change, we just report it as an update\n         */\n        else {\n            RBQSafeRealmObject *safeObject =\n            [changeSets.cacheObjectToSafeObject objectForKey:objectChange.previousCacheObject];\n            \n#ifdef DEBUG\n            NSAssert(safeObject, @\"Safe object can't be nil!\");\n#endif\n            \n            if ([self.delegate respondsToSelector:\n                 @selector(controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:)])\n            {\n                [self runOnMainThread:^(){\n                    [weakSelf.delegate controller:weakSelf\n                                  didChangeObject:safeObject\n                                      atIndexPath:objectChange.previousIndexPath\n                                    forChangeType:NSFetchedResultsChangeUpdate\n                                     newIndexPath:objectChange.updatedIndexpath];\n                }];\n            }\n        }\n    }\n    \n    // Sort the moved object changes by updated indexPath\n    [movedObjectChanges sortUsingComparator:^NSComparisonResult(RBQObjectChangeObject *obj1,\n                                                                RBQObjectChangeObject *obj2) {\n        // Compare the indexPaths\n        return [obj1.updatedIndexpath compare:obj2.updatedIndexpath];\n    }];\n    \n    derivedChanges.deletedObjectChanges = deletedObjectChanges.copy;\n    derivedChanges.insertedObjectChanges = insertedObjectChanges.copy;\n    derivedChanges.movedObjectChanges = movedObjectChanges.copy;\n}\n\n#pragma mark - Helpers\n\n// Create instance of Realm for internal cache\n- (RLMRealm *)cacheRealm\n{\n    if (self.cacheName) {\n\n        if ([NSThread isMainThread] &&\n            self.realmForMainThread) {\n            \n            return self.realmForMainThread;\n        }\n        \n        RLMRealm *realm = [RBQFetchedResultsController realmForCacheName:self.cacheName];\n        \n        if ([NSThread isMainThread]) {\n            \n            self.realmForMainThread = realm;\n        }\n        \n        return realm;\n    }\n    else {\n        RLMRealmConfiguration *inMemoryConfiguration = [RLMRealmConfiguration defaultConfiguration];\n        inMemoryConfiguration.inMemoryIdentifier = [self nameForFetchRequest:self.fetchRequest];\n        inMemoryConfiguration.encryptionKey = nil;\n        inMemoryConfiguration.objectClasses = @[RBQControllerCacheObject.class,\n                                                RBQObjectCacheObject.class,\n                                                RBQSectionCacheObject.class];\n        \n        RLMRealm *realm = [RLMRealm realmWithConfiguration:inMemoryConfiguration\n                                                     error:nil];\n        \n        // Hold onto a strong reference so inMemory realm cache doesn't get deallocated\n        // We don't use the cache since this is deprecated\n        // If the realm path changed (new fetch request then hold onto the new one)\n        if (!self.inMemoryRealm ||\n            ![realm.configuration.fileURL.path.lastPathComponent isEqualToString:self.inMemoryRealm.configuration.fileURL.path.lastPathComponent]) {\n            \n            self.inMemoryRealm = realm;\n        }\n        \n        return realm;\n    }\n    \n    return nil;\n}\n\n// Retrieve internal cache\n- (RBQControllerCacheObject *)cache\n{\n    RLMRealm *cacheRealm = [self cacheRealm];\n    \n    [cacheRealm refresh];\n    \n    RBQControllerCacheObject *cache = [self cacheInRealm:cacheRealm];\n    \n    return cache;\n}\n\n- (RBQControllerCacheObject *)cacheInRealm:(RLMRealm *)realm\n{\n    if (self.cacheName) {\n        \n        return [RBQControllerCacheObject objectInRealm:realm\n                                         forPrimaryKey:self.cacheName];\n    }\n    else {\n        return [RBQControllerCacheObject objectInRealm:realm\n                                         forPrimaryKey:[self nameForFetchRequest:self.fetchRequest]];\n    }\n    \n    return nil;\n}\n\n// Create a computed name for a fetch request\n- (NSString *)nameForFetchRequest:(RBQFetchRequest *)fetchRequest\n{\n    return [NSString stringWithFormat:@\"%lu-cache\",(unsigned long)fetchRequest.hash];\n}\n\n/**\n Apparently iOS 7+ NSIndexPath's can sometimes be UIMutableIndexPaths:\n http://stackoverflow.com/questions/18919459/ios-7-beginupdates-endupdates-inconsistent/18920573#18920573\n \n This foils using them as dictionary keys since isEqual: fails between an equivalent NSIndexPath and\n UIMutableIndexPath.\n */\n- (NSIndexPath *)keyForIndexPath:(NSIndexPath *)indexPath\n{\n    if ([indexPath class] == [NSIndexPath class]) {\n        return indexPath;\n    }\n    return [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];\n}\n\n- (void)runOnMainThread:(void (^)(void))mainThreadBlock\n{\n    if ([NSThread isMainThread]) {\n        mainThreadBlock();\n    }\n    else {\n        dispatch_async(dispatch_get_main_queue(), mainThreadBlock);\n    }\n}\n\n@end\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/FetchRequest.swift",
    "content": "//\n//  FetchRequest.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport Realm\nimport RealmSwift\n\n/**\nThis class is used by the FetchedResultsController to represent the properties of the fetch. The FetchRequest is specific to one Object and uses an NSPredicate and array of SortDescriptors to define the query.\n*/\nopen class FetchRequest<T: Object> {\n    \n    // MARK: Initializers\n    \n    /**\n    Constructor method to create a fetch request for a given entity name in a specific Realm.\n    \n    :param: realm      Realm in which the Object is persisted (if passing in-memory Realm, make sure to keep a strong reference elsewhere since fetch request only stores the path)\n    :param predicate  NSPredicate that represents the search query or nil if all objects should be included\n    \n    :returns: A new instance of FetchRequest\n    */\n    public init(realm: Realm, predicate: NSPredicate?) {\n        let entityName = T.className()\n        \n        self.realmConfiguration = realm.configuration\n        \n        let rlmConfiguration: RLMRealmConfiguration = ObjectiveCSupport.convert(object: realm.configuration)\n        \n        let rlmRealm = try! RLMRealm(configuration: rlmConfiguration)\n        \n        self.rbqFetchRequest = RBQFetchRequest(entityName: entityName, in: rlmRealm, predicate: predicate)\n    }\n    \n    // MARK: Properties\n    \n    /// Object class name for the fetch request\n    open var entityName: String {\n        return self.rbqFetchRequest.entityName\n    }\n    \n    /// The Realm in which the entity for the fetch request is persisted.\n    open var realm: Realm {\n        return try! Realm(configuration: self.realmConfiguration)\n    }\n    \n    /// The configuration object used to create an instance of Realm for the fetch request\n    public let realmConfiguration: Realm.Configuration\n    \n    /// Predicate supported by Realm\n    ///\n    /// http://realm.io/docs/cocoa/0.89.2/#querying-with-predicates\n    open var predicate: NSPredicate? {\n        get {\n            return self.rbqFetchRequest.predicate\n        }\n        set {\n            self.rbqFetchRequest.predicate = predicate\n        }\n        \n    }\n    \n    /// Array of SortDescriptors\n    ///\n    /// http://realm.io/docs/cocoa/0.89.2/#ordering-results\n    open var sortDescriptors: [RealmSwift.SortDescriptor] {\n        get {\n            var sortDescriptors: [RealmSwift.SortDescriptor] = []\n            \n            if let rbqSortDescriptors = self.rbqFetchRequest.sortDescriptors {\n                \n                for rlmSortDesc in rbqSortDescriptors {\n                    \n                    sortDescriptors.append(SortDescriptor(keyPath: rlmSortDesc.keyPath, ascending: rlmSortDesc.ascending))\n                }\n            }\n            \n            return sortDescriptors\n        }\n        set {\n            \n            var rbqSortDescriptors = [RLMSortDescriptor]()\n            \n            for sortDesc in newValue {\n                \n                let rlmSortDesc = RLMSortDescriptor(keyPath: sortDesc.keyPath, ascending: sortDesc.ascending)\n                \n                rbqSortDescriptors.append(rlmSortDesc)\n            }\n            \n            self.rbqFetchRequest.sortDescriptors = rbqSortDescriptors\n        }\n    }\n    \n    // MARK: Functions\n    \n    /**\n    Retrieve all the Objects for this fetch request in its realm.\n    \n    @return Results for all the objects in the fetch request (not thread-safe).\n    */\n    open func fetchObjects() -> Results<T> {\n\n//        var fetchResults = self.realm.objects(T)\n        var fetchResults = self.realm.objects(T.self)\n\n        // If we have a predicate use it\n        \n        if let predicate = self.predicate {\n            fetchResults = fetchResults.filter(predicate)\n        }\n        \n        // If we have sort descriptors then use them\n        if (self.sortDescriptors.count > 0) {\n            fetchResults = fetchResults.sorted(by: self.sortDescriptors)\n        }\n        \n        return fetchResults\n    }\n    \n    /**\n    Should this object be in our fetch results?\n    \n    Intended to be used by the FetchedResultsController to evaluate incremental changes. For\n    simple fetch requests this just evaluates the NSPredicate, but subclasses may have a more\n    complicated implementaiton.\n    \n    :param: object Realm object of appropriate type\n    \n    :returns: YES if performing fetch would include this object\n    */\n    open func evaluateObject(_ object: T) -> Bool {\n        \n        if let predicate = self.predicate {\n            return predicate.evaluate(with: object)\n        }\n        \n        return true\n    }\n    \n    // MARK: Private functions/properties\n    \n    internal let rbqFetchRequest: RBQFetchRequest\n}\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/FetchedResultsController.swift",
    "content": "//\n//  FetchedResultsController.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport RBQSafeRealmObject\nimport SafeRealmObject\nimport Realm\nimport RealmSwift\n\n/**\nThis class is used by the FetchedResultsController to pass along section info.\n*/\nopen class FetchResultsSectionInfo<T: Object> {\n    \n    // MARK: Properties\n    \n    /**\n    The number of objects in the section.\n    */\n    open var numberOfObjects: UInt {\n        return self.rbqFetchedResultsSectionInfo.numberOfObjects\n    }\n    \n    /**\n    The objects in the section (generated on-demand and not thread-safe).\n    */\n    open var objects: Results<T> {\n        \n        if self.sectionNameKeyPath != nil {\n            return self.fetchRequest.fetchObjects().filter(\"%K == %@\", self.sectionNameKeyPath!, self.rbqFetchedResultsSectionInfo.name)\n        }\n        \n        return self.fetchRequest.fetchObjects()\n    }\n    \n    /**\n    The name of the section.\n    */\n    open var name: String {\n        return self.rbqFetchedResultsSectionInfo.name\n    }\n    \n    // MARK: Private functions/properties\n    \n    internal let rbqFetchedResultsSectionInfo: RBQFetchedResultsSectionInfo\n    \n    internal let fetchRequest: FetchRequest<T>\n    \n    internal let sectionNameKeyPath: String?\n    \n    internal init(rbqFetchedResultsSectionInfo: RBQFetchedResultsSectionInfo, fetchRequest: FetchRequest<T>, sectionNameKeyPath: String?) {\n        self.rbqFetchedResultsSectionInfo = rbqFetchedResultsSectionInfo\n        self.fetchRequest = fetchRequest\n        self.sectionNameKeyPath = sectionNameKeyPath\n    }\n    \n}\n\n/**\nDelegate to pass along the changes identified by the FetchedResultsController.\n*/\npublic protocol FetchedResultsControllerDelegate: class {\n    \n    /**\n    Indicates that the controller has started identifying changes.\n    \n    :param: controller controller instance that noticed the change on its fetched objects\n    */\n    func controllerWillChangeContent<T: Object>(_ controller: FetchedResultsController<T>)\n\n    /**\n    Notifies the delegate that a fetched object has been changed due to an add, remove, move, or update. Enables FetchedResultsController change tracking.\n\n    Changes are reported with the following heuristics:\n\n    On add and remove operations, only the added/removed object is reported. It’s assumed that all objects that come after the affected object are also moved, but these moves are not reported.\n    \n    A move is reported when the changed attribute on the object is one of the sort descriptors used in the fetch request. An update of the object is assumed in this case, but no separate update message is sent to the delegate.\n    \n    An update is reported when an object’s state changes, but the changed attributes aren’t part of the sort keys.\n\n    :param: controller controller instance that noticed the change on its fetched objects\n    :param: anObject changed object represented as a SafeObject for thread safety\n    :param: indexPath indexPath of changed object (nil for inserts)\n    :param: type indicates if the change was an insert, delete, move, or update\n    :param: newIndexPath the destination path for inserted or moved objects, nil otherwise\n    */\n    func controller<T: Object>(_ controller: FetchedResultsController<T>, didChangeObject anObject: SafeObject<T>, atIndexPath indexPath: IndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath?)\n\n    /**\n    The fetched results controller reports changes to its section before changes to the fetched result objects.\n    \n    :param: controller   controller controller instance that noticed the change on its fetched objects\n    :param: section      changed section represented as a FetchedResultsSectionInfo object\n    :param: sectionIndex the section index of the changed section\n    :param: type         indicates if the change was an insert or delete\n    */\n    func controllerDidChangeSection<T:Object>(_ controller: FetchedResultsController<T>, section: FetchResultsSectionInfo<T>, sectionIndex: UInt, changeType: NSFetchedResultsChangeType)\n    \n    /**\n    This method is called at the end of processing changes by the controller\n    \n    :param: controller controller instance that noticed the change on its fetched objects\n    */\n    func controllerDidChangeContent<T: Object>(_ controller: FetchedResultsController<T>)\n\n    /**\n    This method is called before the controller performs the fetch.\n\n     :param: controller controller instance that will perform the fetch\n     */\n    func controllerWillPerformFetch<T: Object>(_ controller: FetchedResultsController<T>)\n\n    /**\n    This method is called after the controller successfully fetches objects. It will not be called if the fetchRequest is nil.\n\n    :param: controller controller instance that performed the fetch\n    */\n    func controllerDidPerformFetch<T: Object>(_ controller: FetchedResultsController<T>)\n}\n\n/**\n Default implementation of the optional methods in FetchedResultsControllerDelegate\n \n Conforming class only has to implement these if it wants to override\n \n :nodoc:\n */\npublic extension FetchedResultsControllerDelegate {\n    // NOOP\n    func controllerWillPerformFetch<T: Object>(_ controller: FetchedResultsController<T>) {}\n    // NOOP\n    func controllerDidPerformFetch<T: Object>(_ controller: FetchedResultsController<T>) {}\n}\n\n/**\nThe class is used to monitor changes from a RBQRealmNotificationManager to convert these changes into specific index path or section index changes. Typically this is used to back a UITableView and support animations when items are inserted, deleted, or changed.\n*/\nopen class FetchedResultsController<T: Object> {\n    \n    // MARK: Class Functions\n    \n    /**\n    Deletes the cached section information with the given name\n    \n    If name is not nil, then the cache will be cleaned, but not deleted from disk.\n    \n    If name is nil, then all caches will be deleted by removing the files from disk.\n    \n    :warning:  If clearing all caches (name is nil), it is recommended to do this in didFinishLaunchingWithOptions: in AppDelegate because Realm files cannot be deleted from disk safely, if there are strong references to them.\n    \n    :param: name The name of the cache file to delete. If name is nil, deletes all cache files.\n    */\n    open class func deleteCache(_ cacheName: String) {\n        RBQFetchedResultsController.deleteCache(withName: cacheName)\n    }\n    \n    /**\n    Retrieves all the paths for the Realm files being used as FRC caches on disk.\n    \n    The typical use case for this method is to use the paths to perform migrations in AppDelegate. The FRC cache files need to be migrated along with your other Realm files because by default Realm includes all of the properties defined in your model in all Realm files. Thus the FRC cache files will throw an exception if they are not migrated. Call setSchemaVersion:forRealmAtPath:withMigrationBlock: for each path returned in the array.\n    \n    :returns: NSArray of NSStrings representing the paths on disk for all FRC cache Realm files\n    */\n    open class func allCacheRealmPaths() -> [String] {\n        \n        var paths = [String]()\n        \n        let allPaths = RBQFetchedResultsController.allCacheRealmPaths()\n        \n        for aPath in allPaths {\n            \n            if let path = aPath as? String {\n                \n                paths.append(path)\n            }\n        }\n        \n        return paths\n    }\n    \n    // MARK: Initializer\n    \n    /**\n    Constructor method to initialize the controller\n    \n    :warning: Specify a cache name if deletion of the cache later on is necessary\n    \n    :param: fetchRequest       the FetchRequest for the controller\n    :param: sectionNameKeyPath A key path on result objects that returns the section name. Pass nil to indicate that the controller should generate a single section. If this key path is not the same as that specified by the first sort descriptor in fetchRequest, they must generate the same relative orderings.\n    :param: name               the cache name (if nil, cache will not be persisted and built using an in-memory Realm)\n    \n    :returns: A new instance of FetchedResultsController\n    */\n    public init(fetchRequest: FetchRequest<T>, sectionNameKeyPath: String?, cacheName: String?) {\n        \n        self.fetchRequest = fetchRequest\n        \n        self.rbqFetchedResultsController = RBQFetchedResultsController(fetchRequest: fetchRequest.rbqFetchRequest, sectionNameKeyPath: sectionNameKeyPath, cacheName: cacheName)\n        \n        self.delegateProxy = DelegateProxy(delegate: self)\n        \n        self.rbqFetchedResultsController.delegate = self.delegateProxy!\n    }\n    \n    // MARK: Properties\n\t\n\tpublic var logging: Bool {\n\t\tget {\n\t\t\treturn self.rbqFetchedResultsController.logging\n\t\t}\n\t\t\n\t\tset {\n\t\t\tself.rbqFetchedResultsController.logging = newValue\n\t\t}\n\t}\n    \n    /// The fetch request for the controller\n    public let fetchRequest: FetchRequest<T>\n    \n    /// The section name key path used to create the sections. Can be nil if no sections.\n    open var sectionNameKeyPath: String? {\n        return self.rbqFetchedResultsController.sectionNameKeyPath\n    }\n    \n    /// The delegate to pass the index path and section changes to.\n    weak open var delegate: FetchedResultsControllerDelegate?\n    \n    /// The name of the cache used internally to represent the tableview structure.\n    open var cacheName: String? {\n        return self.rbqFetchedResultsController.cacheName\n    }\n    \n    /// All the objects that match the fetch request.\n    open var fetchedObjects: Results<T> {\n        return self.fetchRequest.fetchObjects()\n    }\n    \n    /// Returns all the section titles if using a section name key path\n    open var sectionIndexTitles: [String]? {\n        return self.rbqFetchedResultsController.sectionIndexTitles\n    }\n    \n    // MARK: Functions\n    \n    /**\n    Method to tell the controller to perform the fetch\n    \n    :returns: Indicates if the fetch was successful\n    */\n    open func performFetch() -> Bool {\n        return self.rbqFetchedResultsController.performFetch()\n    }\n    \n    /**\n    Call this method to force the cache to be rebuilt.\n    \n    A potential use case would be to call this in a @catch after trying to call endUpdates for the table view. If an exception is thrown, then the cache will be rebuilt and you can call reloadData on the table view.\n    */\n    open func reset() {\n        self.rbqFetchedResultsController.reset()\n    }\n    \n    /**\n    Method to retrieve the number of rows for a given section index\n    \n    :param: index section index\n    \n    :returns: number of rows in the section\n    */\n    open func numberOfRowsForSectionIndex(_ index: Int) -> Int {\n        return self.rbqFetchedResultsController.numberOfRows(forSectionIndex: index)\n    }\n    \n    /**\n    Method to retrieve the number of sections represented by the fetch request\n    \n    :returns: number of sections\n    */\n    open func numberOfSections() -> Int {\n        return self.rbqFetchedResultsController.numberOfSections()\n    }\n    \n    /**\n    Method to retrieve the title for a given section index\n    \n    :param: section section index\n    *\n    :returns: The title of the section\n    */\n    open func titleForHeaderInSection(_ section: Int) -> String {\n        return self.rbqFetchedResultsController.titleForHeader(inSection: section)\n    }\n    \n    /**\n    Method to retrieve the section index given a section name\n    \n    :warning: Returns NSNotFound if there is not a section with the given name\n    \n    :param: sectionName the name of the section\n    \n    :returns: the index of the section (returns NSNotFound if no section with the given name)\n    */\n    open func sectionIndexForSectionName(_ sectionName: String) -> UInt {\n        return self.rbqFetchedResultsController.sectionIndex(forSectionName: sectionName)\n    }\n    \n    /**\n    Retrieve the SafeObject for a given index path\n    \n    :param: indexPath the index path of the object\n    \n    :returns: SafeObject\n    */\n    open func safeObjectAtIndexPath(_ indexPath: IndexPath) -> SafeObject<T>? {\n        \n        if let rbqSafeObject = self.rbqFetchedResultsController.safeObject(at: indexPath) {\n            let safeObject = SafeObject<T>(rbqSafeRealmObject: rbqSafeObject)\n            \n            return safeObject\n        }\n        \n        return nil\n    }\n    \n    /**\n    Retrieve the Object for a given index path\n    \n    :warning: Returned object is not thread-safe.\n    \n    :param: indexPath the index path of the object\n    \n    :returns: Object\n    */\n    open func objectAtIndexPath(_ indexPath: IndexPath) -> T? {\n\n        if let rlmObject = self.rbqFetchedResultsController.object(at: indexPath) {\n\n            return unsafeDowncast(rlmObject as! RLMObjectBase, to: T.self)\n        }\n        \n        return nil\n    }\n    \n    /**\n    Retrieve the index path for a safe object in the fetch request\n    \n    :param: safeObject an instance of SafeObject\n    \n    :returns: index path of the object\n    */\n    open func indexPathForSafeObject(_ safeObject: SafeObject<T>) -> IndexPath? {\n        return self.rbqFetchedResultsController.indexPath(forSafeObject: safeObject.rbqSafeRealmObject)\n    }\n    \n    /**\n    Retrieve the index path for a Object in the fetch request\n    \n    :param: object an instance of Object\n    \n    :returns: index path of the object\n    */\n    open func indexPathForObject(_ object: T) -> IndexPath? {\n        return self.rbqFetchedResultsController.indexPath(forObject: object as RLMObjectBase)\n    }\n    \n    /**\n    Convenience method to safely update the fetch request for an existing FetchResultsController\n    \n    :param: fetchRequest       a new instance of FetchRequest\n    :param: sectionNameKeyPath the section name key path for this fetch request (if nil, no sections will be shown)\n    :param: performFetch       indicates whether you want to immediately performFetch using the new fetch request to rebuild the cache\n    */\n    open func updateFetchRequest(_ fetchRequest: FetchRequest<T>, sectionNameKeyPath: String?, performFetch: Bool) {\n        self.rbqFetchedResultsController.updateFetchRequest(fetchRequest.rbqFetchRequest, sectionNameKeyPath: sectionNameKeyPath, andPerformFetch: performFetch)\n    }\n    \n    // MARK: Private functions/properties\n    \n    internal let rbqFetchedResultsController: RBQFetchedResultsController\n    \n    internal var delegateProxy: DelegateProxy?\n}\n\n// Internal Proxy To Manage Converting The Objc Delegate\nextension FetchedResultsController: DelegateProxyProtocol {\n\n    func controllerWillChangeContent(_ controller: RBQFetchedResultsController!) {\n        if let delegate = self.delegate {\n            \n            delegate.controllerWillChangeContent(self)\n        }\n    }\n    \n    func controller(_ controller: RBQFetchedResultsController!, didChangeObject anObject: RBQSafeRealmObject!, atIndexPath indexPath: IndexPath!, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath!) {\n    \n        if let delegate = self.delegate {\n            \n            let safeObject = SafeObject<T>(rbqSafeRealmObject: anObject)\n            \n            delegate.controller(self, didChangeObject: safeObject, atIndexPath: indexPath, forChangeType: type, newIndexPath: newIndexPath)\n        }\n    }\n    \n    func controller(_ controller: RBQFetchedResultsController!, didChangeSection section: RBQFetchedResultsSectionInfo!, atIndex sectionIndex: UInt, forChangeType type: NSFetchedResultsChangeType) {\n    \n        if let delegate = self.delegate {\n            \n            let sectionInfo = FetchResultsSectionInfo<T>(rbqFetchedResultsSectionInfo: section, fetchRequest: self.fetchRequest, sectionNameKeyPath: self.sectionNameKeyPath)\n            \n            delegate.controllerDidChangeSection(self, section: sectionInfo, sectionIndex: sectionIndex, changeType: type)\n        }\n    }\n    \n    func controllerDidChangeContent(_ controller: RBQFetchedResultsController!) {\n        if let delegate = self.delegate {\n\n            delegate.controllerDidChangeContent(self)\n        }\n    }\n\n    func controllerWillPerformFetch(_ controller: RBQFetchedResultsController!) {\n        if let delegate = self.delegate {\n            delegate.controllerWillPerformFetch(self)\n        }\n\n    }\n\n    func controllerDidPerformFetch(_ controller: RBQFetchedResultsController!) {\n        if let delegate = self.delegate {\n\n            delegate.controllerDidPerformFetch(self)\n        }\n\n    }\n}\n\n// Internal Proxy To Manage Converting The Objc Delegate\ninternal protocol DelegateProxyProtocol: class {\n    func controllerWillChangeContent(_ controller: RBQFetchedResultsController!)\n    \n    func controller(_ controller: RBQFetchedResultsController!, didChangeObject anObject: RBQSafeRealmObject!, atIndexPath indexPath: IndexPath!, forChangeType type: NSFetchedResultsChangeType, newIndexPath: IndexPath!)\n    \n    func controller(_ controller: RBQFetchedResultsController!, didChangeSection section: RBQFetchedResultsSectionInfo!, atIndex sectionIndex: UInt, forChangeType type: NSFetchedResultsChangeType)\n    \n    func controllerDidChangeContent(_ controller: RBQFetchedResultsController!)\n\n    func controllerWillPerformFetch(_ controller: RBQFetchedResultsController!)\n\n    func controllerDidPerformFetch(_ controller: RBQFetchedResultsController!)\n}\n\n// Internal Proxy To Manage Converting The Objc Delegate\ninternal class DelegateProxy: NSObject, RBQFetchedResultsControllerDelegate {\n\n    weak internal var delegate: DelegateProxyProtocol?\n\n    init(delegate: DelegateProxyProtocol) {\n        self.delegate = delegate\n        super.init()\n    }\n\n    // <RBQFetchedResultsControllerDelegate>\n    @objc func controllerWillChangeContent(_ controller: RBQFetchedResultsController) {\n        self.delegate?.controllerWillChangeContent(controller)\n    }\n\n    @objc func controller(_ controller: RBQFetchedResultsController, didChange anObject: RBQSafeRealmObject, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {\n        self.delegate?.controller(controller, didChangeObject: anObject, atIndexPath: indexPath, forChangeType: type, newIndexPath: newIndexPath)\n    }\n\n    @objc func controller(_ controller: RBQFetchedResultsController, didChangeSection section: RBQFetchedResultsSectionInfo, at sectionIndex: UInt, for type: NSFetchedResultsChangeType) {\n\n        self.delegate?.controller(controller, didChangeSection: section, atIndex: sectionIndex, forChangeType: type)\n    }\n\n    @objc func controllerDidChangeContent(_ controller: RBQFetchedResultsController) {\n        self.delegate?.controllerDidChangeContent(controller)\n    }\n\n    @objc func controllerWillPerformFetch(_ controller: RBQFetchedResultsController) {\n        self.delegate?.controllerWillPerformFetch(controller)\n    }\n\n    @objc func controllerDidPerformFetch(_ controller: RBQFetchedResultsController) {\n        self.delegate?.controllerDidPerformFetch(controller)\n    }\n\n}\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/RBQFRCSwift-BridgingHeader.h",
    "content": "//\n//  RBQFRCSwift-BridgingHeader.h\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\n@import RBQFetchedResultsController;\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/SwiftFetchedResultsController.h",
    "content": "//\n//  SwiftFetchedResultsController.h\n//  SwiftFetchedResultsController\n//\n//  Created by Adam Fish on 2/16/16.\n//  Copyright © 2016 Atai Barkai. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n//! Project version number for SwiftFetchedResultsController.\nFOUNDATION_EXPORT double SwiftFetchedResultsControllerVersionNumber;\n\n//! Project version string for SwiftFetchedResultsController.\nFOUNDATION_EXPORT const unsigned char SwiftFetchedResultsControllerVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <SwiftFetchedResultsController/PublicHeader.h>\n@import RBQFetchedResultsController;\n\n\n"
  },
  {
    "path": "RBQFetchedResultsController/Source/Swift/Utilities.swift",
    "content": "//\n//  Utilities.swift\n//  RBQFRCSwiftExample\n//\n//  Created by Adam Fish on 7/23/15.\n//  Copyright (c) 2015 Adam Fish. All rights reserved.\n//\n\nimport Foundation\nimport RealmSwift\nimport Realm\nimport Realm.Dynamic\nimport RealmUtilities\n\n/**\nThis utility category provides convenience methods to retrieve the \nprimary key and original class name for an Object.\n*/\nextension Object {\n    \n    // MARK: Functions\n    \n    /**\n    Checks if an object is contained in a specific Realm\n    \n    :param: object Object with a primary key\n    \n    :returns: Bool indicating if the object is in a given Realm\n    */\n    public func isContainedIn(_ realm: Realm) -> Bool {\n        \n        if self.objectSchema.primaryKeyProperty == nil {\n            return false\n        }\n        else if self.realm == nil {\n            return false\n        }\n        \n        let primaryKeyValue: Any? = Object.primaryKeyValue(forObject: self)\n        \n        let object = realm.dynamicObject(ofType: self.objectSchema.className, forPrimaryKey: primaryKeyValue!)\n        \n        if object != nil {\n            return true\n        }\n        \n        return false\n    }\n}\n"
  },
  {
    "path": "RBQFetchedResultsController.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name         = \"RBQFetchedResultsController\"\n  s.version      = \"5.0.2\"\n  s.summary      = \"Drop-in replacement for NSFetchedResultsController backed by Realm.\"\n  s.description  = <<-DESC\n                    The RBQFetchedResultsController (FRC) is a replacement for NSFetchedResultsController when used in conjunction with RBQRealmNotificationManager and RBQRealmChangeLogger. The controller and delegate follow the same paradigm as NSFetchedResultsController, and allow the developer to monitor changes of an RLMObject subclass.\n\n                    RBQFetchedResultsController supports tableview sections and implements a drop-in replacement delegate to pass the changes to the tableview for section and row animations.\n                   DESC\n\n  s.homepage     = \"http://github.com/Roobiq/RBQFetchedResultsController\"\n  s.license      = { :type => \"MIT\", :file => \"LICENSE\" }\n  s.author       = { \"Roobiq\" => \"support@roobiq.com\" }\n  s.social_media_url   = \"http://twitter.com/Roobiq\"\n  s.platform     = :ios, \"7.0\"\n  s.source       = { :git => \"https://github.com/Roobiq/RBQFetchedResultsController.git\", :tag => \"v#{s.version}\", :submodules => true }\n  s.source_files  = [\n    \"RBQFetchedResultsController/Source/**/*.{h,m}\",\n    \"RBQFetchedResultsController/RBQFRC.h\"\n  ]\n  s.exclude_files = \"RBQFetchedResultsController/Source/Swift/*\"\n  s.requires_arc = true\n  s.dependency \"Realm\", \">=1.0.0\"\n  s.dependency \"RBQSafeRealmObject\"\n  s.dependency \"RealmUtilities\"\nend\n"
  },
  {
    "path": "RBQFetchedResultsController.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t6361D73F1C4051A8005CD430 /* RBQFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7341C4051A8005CD430 /* RBQFetchedResultsController.framework */; };\n\t\t6361D7991C4052CC005CD430 /* Realm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7971C4052CC005CD430 /* Realm.framework */; };\n\t\tA0519B0D1C56DDB300307EB5 /* RBQFRC.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B0B1C56DDB300307EB5 /* RBQFRC.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA0519B3F1C56EC9A00307EB5 /* RBQControllerCacheObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B0F1C56EC9A00307EB5 /* RBQControllerCacheObject.h */; };\n\t\tA0519B401C56EC9A00307EB5 /* RBQControllerCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B101C56EC9A00307EB5 /* RBQControllerCacheObject.m */; };\n\t\tA0519B411C56EC9A00307EB5 /* RBQObjectCacheObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B111C56EC9A00307EB5 /* RBQObjectCacheObject.h */; };\n\t\tA0519B421C56EC9A00307EB5 /* RBQObjectCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B121C56EC9A00307EB5 /* RBQObjectCacheObject.m */; };\n\t\tA0519B431C56EC9A00307EB5 /* RBQSectionCacheObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B131C56EC9A00307EB5 /* RBQSectionCacheObject.h */; };\n\t\tA0519B441C56EC9A00307EB5 /* RBQSectionCacheObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B141C56EC9A00307EB5 /* RBQSectionCacheObject.m */; };\n\t\tA0519B451C56EC9A00307EB5 /* RBQFetchedResultsController.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B151C56EC9A00307EB5 /* RBQFetchedResultsController.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA0519B461C56EC9A00307EB5 /* RBQFetchedResultsController.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B161C56EC9A00307EB5 /* RBQFetchedResultsController.m */; };\n\t\tA0519B471C56EC9A00307EB5 /* RBQFetchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A0519B171C56EC9A00307EB5 /* RBQFetchRequest.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA0519B481C56EC9A00307EB5 /* RBQFetchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0519B181C56EC9A00307EB5 /* RBQFetchRequest.m */; };\n\t\tA090E5C91C73B23F0046788B /* Realm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7971C4052CC005CD430 /* Realm.framework */; };\n\t\tA090E5CA1C73B2420046788B /* RealmSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7981C4052CC005CD430 /* RealmSwift.framework */; };\n\t\tA090E5CD1C73B2E30046788B /* RBQFetchedResultsController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7341C4051A8005CD430 /* RBQFetchedResultsController.framework */; };\n\t\tA0C594D51CCF0E5E0041A382 /* Realm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6361D7971C4052CC005CD430 /* Realm.framework */; };\n\t\tA0F2DB731C73C642002BE6BA /* FetchedResultsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0F2DB6D1C73C642002BE6BA /* FetchedResultsController.swift */; };\n\t\tA0F2DB741C73C642002BE6BA /* FetchRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0F2DB6E1C73C642002BE6BA /* FetchRequest.swift */; };\n\t\tA0F2DB761C73C642002BE6BA /* SwiftFetchedResultsController.h in Headers */ = {isa = PBXBuildFile; fileRef = A0F2DB701C73C642002BE6BA /* SwiftFetchedResultsController.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA0F2DB771C73C642002BE6BA /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0F2DB711C73C642002BE6BA /* Utilities.swift */; };\n\t\tF9C9CC3B1DF6BAC900A85A48 /* RBQSafeRealmObject.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC381DF6BAC900A85A48 /* RBQSafeRealmObject.framework */; };\n\t\tF9C9CC3C1DF6BAC900A85A48 /* RealmUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC391DF6BAC900A85A48 /* RealmUtilities.framework */; };\n\t\tF9C9CC3E1DF6BACD00A85A48 /* SafeRealmObject.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CC3A1DF6BAC900A85A48 /* SafeRealmObject.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t6361D7401C4051A8005CD430 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 6361D72B1C4051A8005CD430 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsControllerFramework;\n\t\t};\n\t\tA090E5CB1C73B2DB0046788B /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 6361D72B1C4051A8005CD430 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6361D7331C4051A8005CD430;\n\t\t\tremoteInfo = RBQFetchedResultsController;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t6361D7341C4051A8005CD430 /* RBQFetchedResultsController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RBQFetchedResultsController.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t6361D73E1C4051A8005CD430 /* RBQFetchedResultsController.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RBQFetchedResultsController.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t6361D7971C4052CC005CD430 /* Realm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Realm.framework; path = Carthage/Build/iOS/Realm.framework; sourceTree = \"<group>\"; };\n\t\t6361D7981C4052CC005CD430 /* RealmSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealmSwift.framework; path = Carthage/Build/iOS/RealmSwift.framework; sourceTree = \"<group>\"; };\n\t\tA0519AE51C56DD8200307EB5 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tA0519B0A1C56DDB300307EB5 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RBQFetchedResultsController/Info.plist; sourceTree = SOURCE_ROOT; };\n\t\tA0519B0B1C56DDB300307EB5 /* RBQFRC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFRC.h; path = RBQFetchedResultsController/RBQFRC.h; sourceTree = SOURCE_ROOT; };\n\t\tA0519B0F1C56EC9A00307EB5 /* RBQControllerCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQControllerCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B101C56EC9A00307EB5 /* RBQControllerCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQControllerCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B111C56EC9A00307EB5 /* RBQObjectCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQObjectCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B121C56EC9A00307EB5 /* RBQObjectCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQObjectCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B131C56EC9A00307EB5 /* RBQSectionCacheObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBQSectionCacheObject.h; sourceTree = \"<group>\"; };\n\t\tA0519B141C56EC9A00307EB5 /* RBQSectionCacheObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBQSectionCacheObject.m; sourceTree = \"<group>\"; };\n\t\tA0519B151C56EC9A00307EB5 /* RBQFetchedResultsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchedResultsController.h; path = RBQFetchedResultsController/Source/RBQFetchedResultsController.h; sourceTree = SOURCE_ROOT; };\n\t\tA0519B161C56EC9A00307EB5 /* RBQFetchedResultsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchedResultsController.m; path = RBQFetchedResultsController/Source/RBQFetchedResultsController.m; sourceTree = SOURCE_ROOT; };\n\t\tA0519B171C56EC9A00307EB5 /* RBQFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RBQFetchRequest.h; path = RBQFetchedResultsController/Source/RBQFetchRequest.h; sourceTree = SOURCE_ROOT; };\n\t\tA0519B181C56EC9A00307EB5 /* RBQFetchRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RBQFetchRequest.m; path = RBQFetchedResultsController/Source/RBQFetchRequest.m; sourceTree = SOURCE_ROOT; };\n\t\tA090E5A01C73B17B0046788B /* SwiftFetchedResultsController.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftFetchedResultsController.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tA0F2DB6D1C73C642002BE6BA /* FetchedResultsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FetchedResultsController.swift; path = RBQFetchedResultsController/Source/Swift/FetchedResultsController.swift; sourceTree = SOURCE_ROOT; };\n\t\tA0F2DB6E1C73C642002BE6BA /* FetchRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FetchRequest.swift; path = RBQFetchedResultsController/Source/Swift/FetchRequest.swift; sourceTree = SOURCE_ROOT; };\n\t\tA0F2DB6F1C73C642002BE6BA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RBQFetchedResultsController/Source/Swift/Info.plist; sourceTree = SOURCE_ROOT; };\n\t\tA0F2DB701C73C642002BE6BA /* SwiftFetchedResultsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SwiftFetchedResultsController.h; path = RBQFetchedResultsController/Source/Swift/SwiftFetchedResultsController.h; sourceTree = SOURCE_ROOT; };\n\t\tA0F2DB711C73C642002BE6BA /* Utilities.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Utilities.swift; path = RBQFetchedResultsController/Source/Swift/Utilities.swift; sourceTree = SOURCE_ROOT; };\n\t\tF9C9CC381DF6BAC900A85A48 /* RBQSafeRealmObject.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RBQSafeRealmObject.framework; path = Carthage/Build/iOS/RBQSafeRealmObject.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC391DF6BAC900A85A48 /* RealmUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RealmUtilities.framework; path = Carthage/Build/iOS/RealmUtilities.framework; sourceTree = \"<group>\"; };\n\t\tF9C9CC3A1DF6BAC900A85A48 /* SafeRealmObject.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SafeRealmObject.framework; path = Carthage/Build/iOS/SafeRealmObject.framework; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t6361D7301C4051A8005CD430 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF9C9CC3C1DF6BAC900A85A48 /* RealmUtilities.framework in Frameworks */,\n\t\t\t\tF9C9CC3B1DF6BAC900A85A48 /* RBQSafeRealmObject.framework in Frameworks */,\n\t\t\t\t6361D7991C4052CC005CD430 /* Realm.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t6361D73B1C4051A8005CD430 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0C594D51CCF0E5E0041A382 /* Realm.framework in Frameworks */,\n\t\t\t\t6361D73F1C4051A8005CD430 /* RBQFetchedResultsController.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA090E59C1C73B17B0046788B /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF9C9CC3E1DF6BACD00A85A48 /* SafeRealmObject.framework in Frameworks */,\n\t\t\t\tA090E5CD1C73B2E30046788B /* RBQFetchedResultsController.framework in Frameworks */,\n\t\t\t\tA090E5CA1C73B2420046788B /* RealmSwift.framework in Frameworks */,\n\t\t\t\tA090E5C91C73B23F0046788B /* Realm.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t6361D72A1C4051A8005CD430 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6361D7361C4051A8005CD430 /* RBQFetchedResultsController */,\n\t\t\t\tA0519AE41C56DD8200307EB5 /* RBQFetchedResultsControllerTests */,\n\t\t\t\t6361D7351C4051A8005CD430 /* Products */,\n\t\t\t\tF8FD46561DD4099C00033F0B /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6361D7351C4051A8005CD430 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6361D7341C4051A8005CD430 /* RBQFetchedResultsController.framework */,\n\t\t\t\t6361D73E1C4051A8005CD430 /* RBQFetchedResultsController.xctest */,\n\t\t\t\tA090E5A01C73B17B0046788B /* SwiftFetchedResultsController.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6361D7361C4051A8005CD430 /* RBQFetchedResultsController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519B0B1C56DDB300307EB5 /* RBQFRC.h */,\n\t\t\t\tA0519B0A1C56DDB300307EB5 /* Info.plist */,\n\t\t\t\t6361D74E1C4051ED005CD430 /* Source */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsController;\n\t\t\tpath = RBQFetchedResultsControllerFramework;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6361D74E1C4051ED005CD430 /* Source */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0F2DB691C73C472002BE6BA /* RBQFetchedResultsController */,\n\t\t\t\tA0F2DB5C1C73C467002BE6BA /* SwiftFetchedResultsController */,\n\t\t\t);\n\t\t\tpath = Source;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519AE41C56DD8200307EB5 /* RBQFetchedResultsControllerTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519AE51C56DD8200307EB5 /* Info.plist */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerTests;\n\t\t\tpath = RBQFetchedResultsController/RBQFetchedResultsControllerTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tA0519B0E1C56EC9A00307EB5 /* CacheObjects */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519B0F1C56EC9A00307EB5 /* RBQControllerCacheObject.h */,\n\t\t\t\tA0519B101C56EC9A00307EB5 /* RBQControllerCacheObject.m */,\n\t\t\t\tA0519B111C56EC9A00307EB5 /* RBQObjectCacheObject.h */,\n\t\t\t\tA0519B121C56EC9A00307EB5 /* RBQObjectCacheObject.m */,\n\t\t\t\tA0519B131C56EC9A00307EB5 /* RBQSectionCacheObject.h */,\n\t\t\t\tA0519B141C56EC9A00307EB5 /* RBQSectionCacheObject.m */,\n\t\t\t);\n\t\t\tname = CacheObjects;\n\t\t\tpath = RBQFetchedResultsController/Source/CacheObjects;\n\t\t\tsourceTree = SOURCE_ROOT;\n\t\t};\n\t\tA0F2DB5C1C73C467002BE6BA /* SwiftFetchedResultsController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0F2DB6D1C73C642002BE6BA /* FetchedResultsController.swift */,\n\t\t\t\tA0F2DB6E1C73C642002BE6BA /* FetchRequest.swift */,\n\t\t\t\tA0F2DB6F1C73C642002BE6BA /* Info.plist */,\n\t\t\t\tA0F2DB701C73C642002BE6BA /* SwiftFetchedResultsController.h */,\n\t\t\t\tA0F2DB711C73C642002BE6BA /* Utilities.swift */,\n\t\t\t);\n\t\t\tname = SwiftFetchedResultsController;\n\t\t\tpath = RBQFetchedResultsController/Source/SwiftFetchedResultsController;\n\t\t\tsourceTree = SOURCE_ROOT;\n\t\t};\n\t\tA0F2DB691C73C472002BE6BA /* RBQFetchedResultsController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA0519B0E1C56EC9A00307EB5 /* CacheObjects */,\n\t\t\t\tA0519B151C56EC9A00307EB5 /* RBQFetchedResultsController.h */,\n\t\t\t\tA0519B161C56EC9A00307EB5 /* RBQFetchedResultsController.m */,\n\t\t\t\tA0519B171C56EC9A00307EB5 /* RBQFetchRequest.h */,\n\t\t\t\tA0519B181C56EC9A00307EB5 /* RBQFetchRequest.m */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsController;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF8FD46561DD4099C00033F0B /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF9C9CC381DF6BAC900A85A48 /* RBQSafeRealmObject.framework */,\n\t\t\t\tF9C9CC391DF6BAC900A85A48 /* RealmUtilities.framework */,\n\t\t\t\tF9C9CC3A1DF6BAC900A85A48 /* SafeRealmObject.framework */,\n\t\t\t\t6361D7971C4052CC005CD430 /* Realm.framework */,\n\t\t\t\t6361D7981C4052CC005CD430 /* RealmSwift.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t6361D7311C4051A8005CD430 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0519B471C56EC9A00307EB5 /* RBQFetchRequest.h in Headers */,\n\t\t\t\tA0519B0D1C56DDB300307EB5 /* RBQFRC.h in Headers */,\n\t\t\t\tA0519B451C56EC9A00307EB5 /* RBQFetchedResultsController.h in Headers */,\n\t\t\t\tA0519B411C56EC9A00307EB5 /* RBQObjectCacheObject.h in Headers */,\n\t\t\t\tA0519B3F1C56EC9A00307EB5 /* RBQControllerCacheObject.h in Headers */,\n\t\t\t\tA0519B431C56EC9A00307EB5 /* RBQSectionCacheObject.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA090E59D1C73B17B0046788B /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0F2DB761C73C642002BE6BA /* SwiftFetchedResultsController.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t6361D7331C4051A8005CD430 /* RBQFetchedResultsController */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 6361D7481C4051A8005CD430 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsController\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t6361D72F1C4051A8005CD430 /* Sources */,\n\t\t\t\t6361D7301C4051A8005CD430 /* Frameworks */,\n\t\t\t\t6361D7311C4051A8005CD430 /* Headers */,\n\t\t\t\t6361D7321C4051A8005CD430 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RBQFetchedResultsController;\n\t\t\tproductName = RBQFetchedResultsControllerFramework;\n\t\t\tproductReference = 6361D7341C4051A8005CD430 /* RBQFetchedResultsController.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t6361D73D1C4051A8005CD430 /* RBQFetchedResultsControllerTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 6361D74B1C4051A8005CD430 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t6361D73A1C4051A8005CD430 /* Sources */,\n\t\t\t\t6361D73B1C4051A8005CD430 /* Frameworks */,\n\t\t\t\t6361D73C1C4051A8005CD430 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t6361D7411C4051A8005CD430 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = RBQFetchedResultsControllerTests;\n\t\t\tproductName = RBQFetchedResultsControllerFrameworkTests;\n\t\t\tproductReference = 6361D73E1C4051A8005CD430 /* RBQFetchedResultsController.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tA090E59F1C73B17B0046788B /* SwiftFetchedResultsController */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = A090E5A71C73B17B0046788B /* Build configuration list for PBXNativeTarget \"SwiftFetchedResultsController\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tA090E59B1C73B17B0046788B /* Sources */,\n\t\t\t\tA090E59C1C73B17B0046788B /* Frameworks */,\n\t\t\t\tA090E59D1C73B17B0046788B /* Headers */,\n\t\t\t\tA090E59E1C73B17B0046788B /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tA090E5CC1C73B2DB0046788B /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = SwiftFetchedResultsController;\n\t\t\tproductName = SwiftFetchedResultsController;\n\t\t\tproductReference = A090E5A01C73B17B0046788B /* SwiftFetchedResultsController.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t6361D72B1C4051A8005CD430 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = \"Atai Barkai\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t6361D7331C4051A8005CD430 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t};\n\t\t\t\t\t6361D73D1C4051A8005CD430 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t};\n\t\t\t\t\tA090E59F1C73B17B0046788B = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2.1;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 6361D72E1C4051A8005CD430 /* Build configuration list for PBXProject \"RBQFetchedResultsController\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 6361D72A1C4051A8005CD430;\n\t\t\tproductRefGroup = 6361D7351C4051A8005CD430 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t6361D7331C4051A8005CD430 /* RBQFetchedResultsController */,\n\t\t\t\t6361D73D1C4051A8005CD430 /* RBQFetchedResultsControllerTests */,\n\t\t\t\tA090E59F1C73B17B0046788B /* SwiftFetchedResultsController */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t6361D7321C4051A8005CD430 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t6361D73C1C4051A8005CD430 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA090E59E1C73B17B0046788B /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t6361D72F1C4051A8005CD430 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0519B441C56EC9A00307EB5 /* RBQSectionCacheObject.m in Sources */,\n\t\t\t\tA0519B481C56EC9A00307EB5 /* RBQFetchRequest.m in Sources */,\n\t\t\t\tA0519B421C56EC9A00307EB5 /* RBQObjectCacheObject.m in Sources */,\n\t\t\t\tA0519B461C56EC9A00307EB5 /* RBQFetchedResultsController.m in Sources */,\n\t\t\t\tA0519B401C56EC9A00307EB5 /* RBQControllerCacheObject.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t6361D73A1C4051A8005CD430 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA090E59B1C73B17B0046788B /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tA0F2DB741C73C642002BE6BA /* FetchRequest.swift in Sources */,\n\t\t\t\tA0F2DB731C73C642002BE6BA /* FetchedResultsController.swift in Sources */,\n\t\t\t\tA0F2DB771C73C642002BE6BA /* Utilities.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t6361D7411C4051A8005CD430 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 6361D7331C4051A8005CD430 /* RBQFetchedResultsController */;\n\t\t\ttargetProxy = 6361D7401C4051A8005CD430 /* PBXContainerItemProxy */;\n\t\t};\n\t\tA090E5CC1C73B2DB0046788B /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 6361D7331C4051A8005CD430 /* RBQFetchedResultsController */;\n\t\t\ttargetProxy = A090E5CB1C73B2DB0046788B /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t6361D7461C4051A8005CD430 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t6361D7471C4051A8005CD430 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 3.0.1;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t6361D7491C4051A8005CD430 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tHEADER_SEARCH_PATHS = \"$(SRCROOT)/RBQFetchedResultsController/Source\";\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = \"$(SRCROOT)/RBQFetchedResultsController/ModuleMapFile\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Atai.RBQFetchedResultsController;\n\t\t\t\tPRODUCT_NAME = RBQFetchedResultsController;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t6361D74A1C4051A8005CD430 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tHEADER_SEARCH_PATHS = \"$(SRCROOT)/RBQFetchedResultsController/Source\";\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = \"$(SRCROOT)/RBQFetchedResultsController/ModuleMapFile\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Atai.RBQFetchedResultsController;\n\t\t\t\tPRODUCT_NAME = RBQFetchedResultsController;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t6361D74C1C4051A8005CD430 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/RBQFetchedResultsControllerTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Atai.RBQFetchedResultsControllerFrameworkTests;\n\t\t\t\tPRODUCT_NAME = RBQFetchedResultsController;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t6361D74D1C4051A8005CD430 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/RBQFetchedResultsControllerTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Atai.RBQFetchedResultsControllerFrameworkTests;\n\t\t\t\tPRODUCT_NAME = RBQFetchedResultsController;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tA090E5A51C73B17B0046788B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/Source/Swift/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.Roobiq.SwiftFetchedResultsController;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tA090E5A61C73B17B0046788B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = RBQFetchedResultsController/Source/Swift/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.Roobiq.SwiftFetchedResultsController;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t6361D72E1C4051A8005CD430 /* Build configuration list for PBXProject \"RBQFetchedResultsController\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t6361D7461C4051A8005CD430 /* Debug */,\n\t\t\t\t6361D7471C4051A8005CD430 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t6361D7481C4051A8005CD430 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsController\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t6361D7491C4051A8005CD430 /* Debug */,\n\t\t\t\t6361D74A1C4051A8005CD430 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t6361D74B1C4051A8005CD430 /* Build configuration list for PBXNativeTarget \"RBQFetchedResultsControllerTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t6361D74C1C4051A8005CD430 /* Debug */,\n\t\t\t\t6361D74D1C4051A8005CD430 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tA090E5A71C73B17B0046788B /* Build configuration list for PBXNativeTarget \"SwiftFetchedResultsController\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tA090E5A51C73B17B0046788B /* Debug */,\n\t\t\t\tA090E5A61C73B17B0046788B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 6361D72B1C4051A8005CD430 /* Project object */;\n}\n"
  },
  {
    "path": "RBQFetchedResultsController.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:/Users/ataibarkai/Dropbox/Software-Development/Git-Forks/RBQFetchedResultsController/RBQFetchedResultsController.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "RBQFetchedResultsController.xcodeproj/xcshareddata/xcschemes/RBQFetchedResultsController.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"6361D7331C4051A8005CD430\"\n               BuildableName = \"RBQFetchedResultsController.framework\"\n               BlueprintName = \"RBQFetchedResultsController\"\n               ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"6361D73D1C4051A8005CD430\"\n               BuildableName = \"RBQFetchedResultsController.xctest\"\n               BlueprintName = \"RBQFetchedResultsControllerTests\"\n               ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6361D7331C4051A8005CD430\"\n            BuildableName = \"RBQFetchedResultsController.framework\"\n            BlueprintName = \"RBQFetchedResultsController\"\n            ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6361D7331C4051A8005CD430\"\n            BuildableName = \"RBQFetchedResultsController.framework\"\n            BlueprintName = \"RBQFetchedResultsController\"\n            ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6361D7331C4051A8005CD430\"\n            BuildableName = \"RBQFetchedResultsController.framework\"\n            BlueprintName = \"RBQFetchedResultsController\"\n            ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "RBQFetchedResultsController.xcodeproj/xcshareddata/xcschemes/SwiftFetchedResultsController.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"A090E59F1C73B17B0046788B\"\n               BuildableName = \"SwiftFetchedResultsController.framework\"\n               BlueprintName = \"SwiftFetchedResultsController\"\n               ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"A090E59F1C73B17B0046788B\"\n            BuildableName = \"SwiftFetchedResultsController.framework\"\n            BlueprintName = \"SwiftFetchedResultsController\"\n            ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"A090E59F1C73B17B0046788B\"\n            BuildableName = \"SwiftFetchedResultsController.framework\"\n            BlueprintName = \"SwiftFetchedResultsController\"\n            ReferencedContainer = \"container:RBQFetchedResultsController.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "README.md",
    "content": "RBQFetchedResultsController\n===========================\n[![CocoaPods](https://img.shields.io/cocoapods/v/RBQFetchedResultsController.svg)]()\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n\n#####Drop-in replacement for `NSFetchedResultsController` backed by Realm.\n\n##### _Now Supports Realm Swift With A Complete Swift API!_\n\nThe `RBQFetchedResultsController` (FRC) is a replacement for `NSFetchedResultsController` that works with [Realm](http://www.realm.io). The controller and delegate follow the same paradigm as `NSFetchedResultsController`, and allow the developer to monitor changes of a `RLMObject` subclass.\n\n`RBQFetchedResultsController` supports tableview sections and implements a drop-in replacement delegate to pass the changes to the tableview for section and row animations.\n\n**Realm class requires a primary key to work with `RBQFetchedResultsController`**\n\nThe Swift API mirrors Objective-C with the following classes:\n* `FetchedResultsController`\n* `FetchRequest`\n* `SafeObject`\n\n####Example\nBasic todo list application built with [ABFRealmTableViewController](https://github.com/bigfish24/ABFRealmTableViewController) which relies on `RBQFetchedResultsController`:\n\n![Todo List Backed By ABFRealmTableViewController](http://fat.gfycat.com/TinyMagnificentGermanspaniel.gif \"Todo List Backed By ABFRealmTableViewController\")\n\n####How It Works:\n\n**Starting with v4.0 and Realm v0.99, `RBQFetchedResultsController` works automatically with Realm's fine-grained notification support. It is recommended to use Realm's API directly instead of `RBQFetchedResultsController` unless you need support for sections.**\n\nChanges produced by Realm will be reprocessed to calculate changes accomodating any sections. These changes will then be passed to a delegate:\n\n**Objective-C**\n```Objective-C\n-(void)controllerWillChangeContent:(RBQFetchedResultsController *)controller;\n \n-(void)controller:(RBQFetchedResultsController *)controller\n   didChangeObject:(RBQSafeRealmObject *)anObject\n       atIndexPath:(NSIndexPath *)indexPath\n     forChangeType:(NSFetchedResultsChangeType)type\n      newIndexPath:(NSIndexPath *)newIndexPath;\n\n-(void)controller:(RBQFetchedResultsController *)controller\n  didChangeSection:(RBQFetchedResultsSectionInfo *)sectionInfo\n           atIndex:(NSUInteger)sectionIndex\n     forChangeType:(NSFetchedResultsChangeType)type;\n\n-(void)controllerDidChangeContent:(RBQFetchedResultsController *)controller;\n```\n\n**Swift**\n```Swift\nfunc controllerWillChangeContent<T: Object>(controller: FetchedResultsController<T>)\n\nfunc controllerDidChangeObject<T: Object>(controller: FetchedResultsController<T>, anObject: SafeObject<T>, indexPath: NSIndexPath?, changeType: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?)\n\nfunc controllerDidChangeSection<T:Object>(controller: FetchedResultsController<T>, section: FetchResultsSectionInfo<T>, sectionIndex: UInt, changeType: NSFetchedResultsChangeType)\n\nfunc controllerDidChangeContent<T: Object>(controller: FetchedResultsController<T>)\n```\n####Documentation\n[Click Here](http://htmlpreview.github.io/?https://raw.githubusercontent.com/Roobiq/RBQFetchedResultsController/master/Documentation/html/index.html)\n\n#####Migrations\n**Starting with v4.0, `RBQFetchedResultsController` now only uses the schemas specific to its internal Realm for section caching. This means handling migrations of the cache Realm is no longer necessary!**\n\n####Installation\n`RBQFetchedResultsController` is available through [CocoaPods](http://cocoapods.org) or [Carthage](https://github.com/Carthage/Carthage). \n\n####Cocoapods\nTo install it, simply add the following line to your Podfile:\n\n**Objective-C**\n```\npod \"RBQFetchedResultsController\"\n```\n\n**Swift**\n```\nuse_frameworks!\n\n// For Realm 0.96 (use latest)\npod 'SwiftFetchedResultsController'\n\n// For Realm < 0.96\npod 'SwiftFetchedResultsController', '2.3'\n```\n\nThen run `pod install`.\n\n####Carthage\nTo install it, simply add the following line to your Cartfile:\n\n**Objective-C**\n```\ngithub \"Roobiq/RBQFetchedResultsController\"\n```\n**Swift**\n```\ngithub \"Roobiq/SwiftFetchedResultsController\"\n```\n\nThen run `carthage update` and drag `RBQFetchedResultsController.framework` or `SwiftFetchedResultsController.framework` from the appropriate platform directory in `Carthage/Build/` to the \"Linked Frameworks and Libraries\" section of your Xcode project’s \"General\" settings.\n\n####Demo\n\nBuild and run/test the Example project in Xcode to see `RBQFetchedResultsController` in action. This project uses CocoaPods. If you don't have [CocoaPods](http://cocoapods.org/) installed, grab it with [sudo] gem install cocoapods.\n\n**Objective-C**\n```\ngit clone http://github.com/Roobiq/RBQFetchedResultsController\ngit submodule init\ngit submodule update\ncd Examples/ObjC\npod install\nopen RBQFetchedResultsControllerExample.xcworkspace\n```\n\n**Swift**\n```\ngit clone http://github.com/Roobiq/RBQFetchedResultsController\ngit submodule init\ngit submodule update\ncd Examples/Swift\npod install\nopen RBQFRCSwiftExample.xcworkspace\n```\n\n**Note:** the example projects install the framework by directly including the source files and using Cocoapods to install Realm. There are also example projects that test/demonstrate installation of the framework with Cocoapods and Carthage. For the Cocoapods install example apps (`ObjC-cocoapods`/`Swift-cocoapods`) the framework is installed as a development pod, referencing the local podspec and source files. Follow the same instructions as above, since the `pod install` will simply include the framework.\n\nFor the Carthage example apps (`ObjC-carthage`/`Swift-carthage`), you must run `carthage update` after `git submodule update` in the steps above so that Carthage can build the Realm framework(s) locally. The example project then uses the `RBQFetchedResultsController.xcodeproj` directly in the same way as you would the resulting framework produced by Carthage.\n\n####Current State\nThe example project includes various functional and unit tests. In addition, the project is used in our [Roobiq](http://www.roobiq.com) app and is quite stable.\n"
  },
  {
    "path": "SwiftFetchedResultsController.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name         = \"SwiftFetchedResultsController\"\n  s.version      = \"5.0.2\"\n  s.summary      = \"Swift drop-in replacement for NSFetchedResultsController backed by Realm\"\n  s.description  = <<-DESC\n                    The FetchedResultsController (FRC) is a Swift replacement for NSFetchedResultsController when used in conjunction with the ChangeLogger class. The controller and delegate follow the same paradigm as NSFetchedResultsController, and allow the developer to monitor changes of a Realm Swift Object subclass.\n\n                    FetchedResultsController supports tableview sections and implements a drop-in replacement delegate to pass the changes to the tableview for section and row animations.\n                   DESC\n\n  s.homepage     = \"http://github.com/Roobiq/RBQFetchedResultsController\"\n  s.license      = { :type => \"MIT\", :file => \"LICENSE\" }\n  s.author       = { \"Roobiq\" => \"support@roobiq.com\" }\n  s.social_media_url   = \"http://twitter.com/Roobiq\"\n  s.platform     = :ios, \"8.0\"\n  s.source       = { :git => \"https://github.com/Roobiq/RBQFetchedResultsController.git\", :tag => \"v#{s.version}\", :submodules => true }\n  s.source_files  = [\n    \"RBQFetchedResultsController/Source/Swift/*.{h,swift}\",\n    \"RBQFetchedResultsController/Source/RBQSafeRealmObject/*.{swift}\"\n  ]\n  s.requires_arc = true\n  s.dependency \"RealmSwift\", \">=2.1.1\"\n  s.dependency \"RBQFetchedResultsController\", \">=#{s.version}\"\n  s.dependency \"SafeRealmObject\"\nend\n"
  }
]