All pastes #2135187 Raw Edit

Something

public text v1 · immutable
#2135187 ·published 2012-04-11 22:28 UTC
rendered paste body
//
//  main.m
//  Posing
//
//  Created by Brandon Holland on 12-04-11.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <objc/runtime.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool *localPool = [[NSAutoreleasePool alloc] init];
    
    Class poserClass = NSClassFromString(@"Poser");
    Class superPoserClass = NSClassFromString(@"SuperPoser");
    
    Class legitClass = objc_allocateClassPair(superPoserClass, "Legit", 0);
    IMP poserTitleIMP = class_getMethodImplementation(poserClass, @selector(poserTitle));
    class_addMethod(legitClass, @selector(poserTitle), poserTitleIMP, "v@:");
    objc_registerClassPair(legitClass);
    
    id legitObject = [[legitClass alloc] init];
    NSLog(@"title -> %@", [legitObject performSelector: @selector(poserTitle)]);
    NSLog(@"id -> %@", [legitObject performSelector: @selector(poserID)]);
    NSLog(@"obj -> %@", legitObject);
    
    [localPool drain];
    return 0;
}