Please do not post the same thing multiple times. The board software automatically flags certain posts as needing moderator attention. This happens the most often for new users. I'm pretty sure this is made clear at the time you attempt to post. Posting the same thing over and over again just makes that many more posts the moderators have to weed through later. This makes us sad. Don't make us sad. If your post/thread doesn't appear, just wait a while. Don't post it again. If it hasn't shown up by the next day, then you can try again. I normally go through posts in the mornings, and try to check a few times throughout the day, but I'm not here 24/7. There will typically be a significant delay before posts are approved. Just be patient.
I sometimes use blocks and sometimes use protocols. It depends on what kind of message it is. If it's a completion handler that others will implement 100% of the time, I make it a block. If it's something optional, I make it a protocol. Or if is something like UITableView that has lots of methods that you'd implement normally, make it a protocol.
Okay you need to learn the difference between a class method and an instance method before we move on. Class methods apply to the class as a whole which means they don't deal with ivars. Classes do not have ivars, class instances do.
You can mimic globals though via the use of singletons. Regarding your question about the best way, I can't tell you since I don't know what your app looks like. You'd like to keep information limited and only provide them to only the classes that need them but sometimes if lots of classes in your app need access to certain data, you create a singleton. A singleton is a class that will only ever have 1 instance allocated. It has a class method to retrieve this instance.