Svårt att fylla på utan att få lite specifika frågor, men som sagt, Obj-C har en runtime för klasser ungefär som Java (som hade Obj-C som förebild (dock inte syntaxmässigt) när det skapades)
Fördelar i syntaxet är följande:
C++:
notificationCenter.addObserver(this, this->dataAvailable, kdataAvailable, otherObject);
Obj-C:
[notificationCenter addObserver:self selector:@selector(dataAvailable name:NSFileHandleDataAvailableNotification object :otherObject];
Det är säkert fel i c++ koden, jag har inte programmerat det på mycket länge nu. Men poängen är att Obj-C koden är till stor del självdokumenterande pga att varje argument är döpt plus att en strikt kodningsstandard använts under skapandet av alla Frameworks (dvs libraries).