| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>FMDatabaseQueue Class Reference</title>
- <link rel="stylesheet" href="../css/style.css">
- <meta name="viewport" content="initial-scale=1, maximum-scale=1.4">
- <meta name="generator" content="appledoc 2.2.1 (build 1333)">
- </head>
- <body class="appledoc">
- <header>
- <div class="container" class="hide-in-xcode">
-
- <h1 id="library-title">
- <a href="../index.html">FMDB </a>
- </h1>
- <p id="developer-home">
- <a href="../index.html">ccgus</a>
- </p>
-
- </div>
- </header>
- <aside>
- <div class="container">
- <nav>
- <ul id="header-buttons" role="toolbar">
- <li><a href="../index.html">Index</a></li>
- <li><a href="../hierarchy.html">Hierarchy</a></li>
- <li id="on-this-page" role="navigation">
- <label>
- On This Page
- <div class="chevron">
- <div class="chevy chevron-left"></div>
- <div class="chevy chevron-right"></div>
- </div>
- <select id="jump-to">
- <option value="top">Jump To…</option>
-
- <option value="overview">Overview</option>
-
-
-
- <option value="tasks">Tasks</option>
-
-
-
-
- <optgroup label="Properties">
-
- <option value="//api/name/openFlags">openFlags</option>
-
- <option value="//api/name/path">path</option>
-
- </optgroup>
-
-
- <optgroup label="Class Methods">
-
- <option value="//api/name/databaseClass">+ databaseClass</option>
-
- <option value="//api/name/databaseQueueWithPath:">+ databaseQueueWithPath:</option>
-
- <option value="//api/name/databaseQueueWithPath:flags:">+ databaseQueueWithPath:flags:</option>
-
- </optgroup>
-
-
- <optgroup label="Instance Methods">
-
- <option value="//api/name/close">- close</option>
-
- <option value="//api/name/inDatabase:">- inDatabase:</option>
-
- <option value="//api/name/inDeferredTransaction:">- inDeferredTransaction:</option>
-
- <option value="//api/name/inSavePoint:">- inSavePoint:</option>
-
- <option value="//api/name/inTransaction:">- inTransaction:</option>
-
- <option value="//api/name/initWithPath:">- initWithPath:</option>
-
- <option value="//api/name/initWithPath:flags:">- initWithPath:flags:</option>
-
- </optgroup>
-
-
- </select>
- </label>
- </li>
- </ul>
- </nav>
- </div>
- </aside>
- <article>
- <div id="overview_contents" class="container">
- <div id="content">
- <main role="main">
- <h1 class="title">FMDatabaseQueue Class Reference</h1>
-
- <div class="section section-specification"><table cellspacing="0"><tbody>
- <tr>
- <th>Inherits from</th>
- <td>NSObject</td>
- </tr><tr>
- <th>Declared in</th>
- <td>FMDatabaseQueue.h<br />FMDatabaseQueue.m</td>
- </tr>
- </tbody></table></div>
-
-
-
- <div class="section section-overview">
- <a title="Overview" name="overview"></a>
- <h2 class="subtitle subtitle-overview">Overview</h2>
- <p>To perform queries and updates on multiple threads, you’ll want to use <code>FMDatabaseQueue</code>.</p>
- <p>Using a single instance of <a href="../Classes/FMDatabase.html"><code>FMDatabase</code></a> from multiple threads at once is a bad idea. It has always been OK to make a <a href="../Classes/FMDatabase.html"><code>FMDatabase</code></a> object <em>per thread</em>. Just don’t share a single instance across threads, and definitely not across multiple threads at the same time.</p>
- <p>Instead, use <code>FMDatabaseQueue</code>. Here’s how to use it:</p>
- <p>First, make your queue.</p>
- <pre><code>FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:aPath];
- </code></pre>
- <p>Then use it like so:</p>
- <pre><code>[queue inDatabase:^(FMDatabase *db) {
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];
- FMResultSet *rs = [db executeQuery:@"select * from foo"];
- while ([rs next]) {
- //…
- }
- }];
- </code></pre>
- <p>An easy way to wrap things up in a transaction can be done like this:</p>
- <pre><code>[queue inTransaction:^(FMDatabase *db, BOOL *rollback) {
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]];
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]];
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]];
- if (whoopsSomethingWrongHappened) {
- *rollback = YES;
- return;
- }
- // etc…
- [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:4]];
- }];
- </code></pre>
- <p><code>FMDatabaseQueue</code> will run the blocks on a serialized queue (hence the name of the class). So if you call <code>FMDatabaseQueue</code>’s methods from multiple threads at the same time, they will be executed in the order they are received. This way queries and updates won’t step on each other’s toes, and every one is happy.</p>
- <h3>See also</h3>
- <ul>
- <li><a href="../Classes/FMDatabase.html"><code>FMDatabase</code></a></li>
- </ul>
- <div class="warning"><p><strong>Warning:</strong> Do not instantiate a single <a href="../Classes/FMDatabase.html"><code>FMDatabase</code></a> object and use it across multiple threads. Use <code>FMDatabaseQueue</code> instead.</p></div><div class="warning"><p><strong>Warning:</strong> The calls to <code>FMDatabaseQueue</code>’s methods are blocking. So even though you are passing along blocks, they will <strong>not</strong> be run on another thread.</p></div>
- </div>
-
-
-
-
- <div class="section section-tasks">
- <a title="Tasks" name="tasks"></a>
-
-
- <h2 class="task-title">Other Methods</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/databaseQueueWithPath:" title="databaseQueueWithPath:"></a>
- <h3 class="method-title"><code><a href="#//api/name/databaseQueueWithPath:">+ databaseQueueWithPath:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Create queue using path.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (instancetype)databaseQueueWithPath:(NSString *)<em>aPath</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>aPath</code></th>
- <td><p>The file path of the database.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>FMDatabaseQueue</code> object. <code>nil</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Create queue using path.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/databaseQueueWithPath:flags:" title="databaseQueueWithPath:flags:"></a>
- <h3 class="method-title"><code><a href="#//api/name/databaseQueueWithPath:flags:">+ databaseQueueWithPath:flags:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Create queue using path and specified flags.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (instancetype)databaseQueueWithPath:(NSString *)<em>aPath</em> flags:(int)<em>openFlags</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>aPath</code></th>
- <td><p>The file path of the database.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>openFlags</code></th>
- <td><p>Flags passed to the openWithFlags method of the database</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>FMDatabaseQueue</code> object. <code>nil</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Create queue using path and specified flags.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/databaseClass" title="databaseClass"></a>
- <h3 class="method-title"><code><a href="#//api/name/databaseClass">+ databaseClass</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Returns the Class of ‘FMDatabase’ subclass, that will be used to instantiate database object.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (Class)databaseClass</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The Class of ‘FMDatabase’ subclass, that will be used to instantiate database object.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Returns the Class of ‘FMDatabase’ subclass, that will be used to instantiate database object.</p>
- <p>Subclasses can override this method to return specified Class of ‘FMDatabase’ subclass.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/initWithPath:flags:" title="initWithPath:flags:"></a>
- <h3 class="method-title"><code><a href="#//api/name/initWithPath:flags:">– initWithPath:flags:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Create queue using path and specified flags.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (instancetype)initWithPath:(NSString *)<em>aPath</em> flags:(int)<em>openFlags</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>aPath</code></th>
- <td><p>The file path of the database.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>openFlags</code></th>
- <td><p>Flags passed to the openWithFlags method of the database</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>FMDatabaseQueue</code> object. <code>nil</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Create queue using path and specified flags.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/initWithPath:" title="initWithPath:"></a>
- <h3 class="method-title"><code><a href="#//api/name/initWithPath:">– initWithPath:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Create queue using path.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (instancetype)initWithPath:(NSString *)<em>aPath</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>aPath</code></th>
- <td><p>The file path of the database.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>FMDatabaseQueue</code> object. <code>nil</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Create queue using path.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/close" title="close"></a>
- <h3 class="method-title"><code><a href="#//api/name/close">– close</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Close database used by queue.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)close</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Close database used by queue.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inDatabase:" title="inDatabase:"></a>
- <h3 class="method-title"><code><a href="#//api/name/inDatabase:">– inDatabase:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Synchronously perform database operations on queue.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)inDatabase:(void ( ^ ) ( FMDatabase *db ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>The code to be run on the queue of <code>FMDatabaseQueue</code></p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Synchronously perform database operations on queue.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inDeferredTransaction:" title="inDeferredTransaction:"></a>
- <h3 class="method-title"><code><a href="#//api/name/inDeferredTransaction:">– inDeferredTransaction:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Synchronously perform database operations on queue, using deferred transactions.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)inDeferredTransaction:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>The code to be run on the queue of <code>FMDatabaseQueue</code></p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Synchronously perform database operations on queue, using deferred transactions.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inTransaction:" title="inTransaction:"></a>
- <h3 class="method-title"><code><a href="#//api/name/inTransaction:">– inTransaction:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Synchronously perform database operations on queue, using transactions.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)inTransaction:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>The code to be run on the queue of <code>FMDatabaseQueue</code></p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Synchronously perform database operations on queue, using transactions.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inSavePoint:" title="inSavePoint:"></a>
- <h3 class="method-title"><code><a href="#//api/name/inSavePoint:">– inSavePoint:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Synchronously perform database operations using save point.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSError *)inSavePoint:(void ( ^ ) ( FMDatabase *db , BOOL *rollback ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>The code to be run on the queue of <code>FMDatabaseQueue</code></p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Synchronously perform database operations using save point.</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
-
- <h2 class="task-title">Other Methods</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/path" title="path"></a>
- <h3 class="method-title"><code><a href="#//api/name/path"> path</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Path of database</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, retain) NSString *path</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Path of database</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/openFlags" title="openFlags"></a>
- <h3 class="method-title"><code><a href="#//api/name/openFlags"> openFlags</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Open flags</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, readonly) int openFlags</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Open flags</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabaseQueue.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- </div>
-
-
-
- </main>
- <footer>
- <div class="footer-copyright">
-
- <p class="copyright">Copyright © 2015 ccgus. All rights reserved. Updated: 2015-01-25</p>
-
-
- <p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1333)</a>.</p>
-
- </div>
- </footer>
- </div>
- </div>
- </article>
- <script src="../js/script.js"></script>
- </body>
- </html>
|