It could be that recent revisions to GameKit 开发者_运维问答are simply a tech demo for blocks. Or, that the "on return" functionality of certain GameKit APIs is just too inconsequential to deserve a dedicated delegate class, and blocks now fulfill the function of an informal protocol.
Though it feels like a subjective question, perhaps there is a definitive answer: "Why does GameKit's API split itself between delegate classes and blocks?"
Edit: see the docs at http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/
As I see it - Apple really pushes forward the new gcd and blocks technology as more efficient and convenient than the old ones. So if I have not missed anything all new classes that appear in iOS 4.1 use blocks. The classes that are available on 3.x versions use delegates just because blocks and gcd are not available on those systems.
精彩评论