Skip to content

tylerneylon/moriarty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4f4c670 · Apr 1, 2013

History

39 Commits
Mar 31, 2011
Apr 1, 2013
Apr 1, 2013
Apr 1, 2013
Apr 1, 2013
Apr 1, 2013
Apr 1, 2013
Apr 24, 2011
Apr 24, 2011
Jun 26, 2011
Jul 7, 2011
Apr 1, 2013
Jun 28, 2011
Jun 30, 2011
Apr 1, 2013
Apr 1, 2013
Apr 1, 2013
May 20, 2011
May 20, 2011
Jun 28, 2011
Apr 1, 2013
Apr 1, 2013
Mar 31, 2011
Mar 31, 2011
Dec 17, 2010

Repository files navigation

moriarty

moriarty is a collection of small classes that are useful for Objective-C and iOS projects. The repository home is at:

https://github.com/tylerneylon/moriarty

NSObject+Be

This category is designed to help with memory management. Specifically, this makes it easy to only work with autoreleased objects outside of a small number of ownership-allowed methods. The rules suggested for use with this category are described here.

UIView+Position

This category enables you to treat one- or two-dimensional position parameters of a UIView like direct variables.

For example, this code will not compile:

myView.frame.origin.x += 10;

With this category, you can achieve the desired effect with code like this:

myView.frameX += 10;

Here's the post about this class.

BNColor

UIColor is not mutable; this class is. This also allows changes in both RGB and HSV color spaces (with conversion between the two).

Here's the post about this class.

BNPieChart

A UIView subclass for rendering very nice-looking pie charts.

Here's the post about this class.

WipeView

A UIView subclass for showing a wipe-vanish animation of an image.

This is a wipe animation (you can do them in other directions than this):

//  1.  /----\
//      |----|
//      \----/
//  2.    ---\
//        ---|
//        ---/
//  3.      -\
//          -|
//          -/
//  4.
//
//

Here's the post about this class.

LineView

A UIView subclass for rending a single line between any two points. Yes, you can do this with Quartz; this is easier to use if you just want a few visual lines without diving down into CGContextStuff functions (CG = Core Graphics).

Example:

LineView *lineView = [LineView lineFromPoint:CGPointZero toPoint:CGPointMake(20, 30)];
[self.view addSubview:lineView];

Here's the relevant blog post.

NSString+HMAC

Adds the method hmacWithKey: to NSString, which uses SHA256 to produce an authentication code (the HMAC). Use it like this:

NSString *key = @"a9bk342nziAFD234";  // Your private key.
NSString *hmac = [messageStr hmacWithKey:key];
// Now send the hmac with the message, and the server can authenticate.

CodeTimestamps

This is a set of macros that can provide line-by-line, nanosecond-resolution timing information for your app. [Here's the post about CodeTimestamps.] (http://eng.pulse.me/line-by-line-speed-analysis-for-ios-apps/)

CArray

A struct and collection of C functions to act as a fast, low-level replacement for NSMutableArray. Only appropriate in extremely time-sensitive code. Here's the post about CArray.

uncrustify.cfg

This is a config file for the uncrustify auto-formatting tool that can be used to clean up Objective-C h,m files.

Here is a sample command-line to use this config file:

/Applications/UniversalIndentGUI/indenters/uncrustify -c uncrustify.cfg -lOC -f MyFile.m -o MyFile.m

I suggest installing UniversalIndentGUI, which includes uncrustify as a component. The uncrustify library on its own appears to be questionably maintained (I could not get it to install correctly).

http://universalindent.sourceforge.net/

Here's the post about this file.