Not being able to change

One of the things I seriously hate while doing work is to be able to look back and say that things could have been different but I did not put the required effort to get the job done. Completion of software projects is as much about planning as it is about being able to put the required amount of effort into it. The thing is that anyone can do anything technically, but it is the things that we actually do, matter the most and are the ones seen by the world. So yeah, while the world is harping on being agile and doings things fast, one step at a time, I think that doing them and not leaving them for later is a bigger game changer. No matter how agile we can be, there are things which should be done at an early stage of the project and cant be left for later. There is no guide which can tell which decisions fall under these categories, it's an individual's job and an individual regret that lives on with him/her later for the rest of the project cycle. We all wish for things to happen, but we can't just hope for them to happen, we have to satisfy the necessary preconditions in order to get the job done.


Restkit + iOS (#1)

I commenced on making an iPad at the start of the semester and by and large towards the end I have learnt so many concepts. I am going to detail out solutions, some common ones, found out from the web or forums or just pure ingenuity.
I am not a big iOS coder, I am more familiar with javascript, java, python and C. But then again its the same MVC principle all over again. Although, the standard way of doing some things in XCode would be to use protocols, I don’t usually find myself very familiar with these constructs. So here are my solutions/tips.
Troll No 1:

Problem
You have 2 view controllers, master and detail, you want to load something (a GET request) to your detail panel (which is a hierarchy of navigation controllers). You can do it via a GET request in the root view controller of the navigation controller in the detail panel but you want to do it via the master view controller since it is at a higher level.
Solution
here’s how I did it.
NavigationController has a property called viewControllers which stores the stack of view controllers. The first one is the controller you wish to invoke as delegate. All you need to do is this:

UINavigationController* v1 = [self.splitViewController.viewControllers objectAtIndex:1];
[[RKClient sharedClient] get:@"/hello" delegate:[v1.viewControllers objectAtIndex:0]];

All you need to is make a get request via the RKClient and pass the delegate to be the first view controller in the navigation stack.
Its not clean, but does the job :-)


Hello World

 Testing screenshots