Monthly Archives: March 2014

Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 3 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 13 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 23 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 33 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 43 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 53 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 63 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 73 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 83 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 93 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 103 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 113 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 123 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 133 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 143 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 153 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 163 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 173

Properties in a Category

One of the many things I like with Objective-C is the possibility to extend any class without having to write a proper extension class that inherits from the original. The technique is called categories and what you is that you specify one or more new methods to be a part of a given class.

Below is an example of how to extend a standard NSString object with a new custom method that checks if a certain string is a part of the NSString.

To use the above category you simply import the NSString+Contains.h in your source code after that you can use the new method on all NSString objects. Great! But what if you also want to add a property? The category mechanism does not support properties but where there is a will, there is a way.

By declaring a property and then add your own getter and setter methods you can use the C-method objc_setAssociatedObject to connect and retrieve data to an object. Let me show you; In the following example I’ll create a category that will let you store any Objective-C object in a property called customData in a NSString object.

In many cases the best solution is to create a new class that extends another class to accomplish this, but for some situations this proves to be a highly efficient solution.

Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 3 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 13 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 23 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 33 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 43 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 53 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 63 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 73 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 83 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 93 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 103 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 113 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 123 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 133 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 143 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 153 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 163 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 173

Jace vs. Vraska

One of my favourite Magic the Gathering products is by far the duel decks. In each duel deck pack you get two decks designed according to a special theme (e.g. Knights vs. Dragons) or around two planeswalkers (e.g. Koth vs. Venser). The decks are fun and full of flavour and best of all they are designed to be played against one another.

Ever since it was announced I have been looking forward to when the next duel decks would come out and this morning it was finally possible to pre-order Jace vs. Vraska at my local store. Hopefully I will be able to pick up the decks this friday to be able to test them with the kids during the weekend.

Another fun thing about the duel decks is that the deck designer always writes a feature article about the process. Jace vs. Vraska is designed by Sam Stoddard and you can read about his work on the link below.

Playing with Jace & Vraska

Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 3 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 13 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 23 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 33 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 43 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 53 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 63 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 73 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 83 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 93 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 103 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 113 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 123 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 133 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 143 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 153 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 163 Notice: Undefined index: HTTP_REFERER in /home/a/arainydayse/arainydayse/arainyday.se/www/wp-content/themes/twentytwelve/content.php on line 173

This is the code your are looking for

Since it’s obviously impossible for me to remember the best way of getting a random number in Objective-C I’m writing it down here, once and for all. This is a post to my future self.

- “John, this is the code you are looking for!”