A comprehensive demonstration of several key application components including Typhoon (dependency injection), Bolts (a Facebook library for working with promises/concurrency), consuming rest content using AFNetworking and persisting content in Sqlite using FMDB. The application features content from the League of Legends Developer API.
Currently, the responsibility for constructing SQL is in base command classes. The generation of SQL should be extracted into a SQLBuilder class and possibly a SQLQueryBuilder class.
Currently, the Command implementation in the application treats all Commands the same. All implement a runAsync method regardless of whether they are truly async or not.
Further, the asynchronous mechanism is defined in some classes where it should not be.
@JeffBNimble, thank you for this excellent example app.
I've been trying to get it to run on the simulator using Xcode 6.3.2 (latest released version as of this writing), yet I consistently receive this error dialogue:
"Invalid or missing Program/ProgramArguments"
Is this a known issue? Can you recommend a workaround or possible culprit?
To better match the definition of a command, all task classes and folders should be renamed from xyzTask to xyzCommand and the method on the protocol should be renamed from runAsync to execute