Blocks are objects. Pass your block as the target argument, with @selector(invoke) as the action argument, like this:
id block = [^{NSLog(@"Hello, world");} copy];// Don't forget to -release.
[button addTarget:block
action:@selector(invoke)
forControlEvents:UIControlEventTouchUpInside];