Hej,
det här med att ärva är inte alls lika vanligt i ObjC som i t.ex. C++. Skälet till det ligger i designfilosofin bakom resp. språk.
Den vanligaste (om man får uttrycka sig så vagt) formen av klasser ärver direkt från NSObject (rotklassen) och bygger sedan upp funktionalitet mha "composition" dvs ett antal instanser av diverse klasser.
Jämför frågan "är en ..." respektive "har en ...". Exv. min klass är en lista kontra min klass har en lista.
Vissa klasser är inte alls avsedda att ärvas från, t.ex. generiska container-klasser som NSArray/Dictionary/Set. Det finns sällan behov av det eftersom de kan innehålla alla andra sorters objekt. Jfr. C++ som kräver(?) att du deklarerar vilken typ av objekt som ska lagras.
Känner man att man bara måste ha någon viss funktionalitet så är kategorier antagligen tillräckliga, som påpekats tidigare.
Ett fåtal klasser är att betrakta som "abstrakta" (begreppet saknar betydelse i ObjC), t.ex. NSView som måste subklassas.
För att se hur ovanligt ärvning är, så öppna fliken Classes i PB och välj Hierarcy, all classes i pop-up menyn.
De flesta klasser ärver bara från NSObject, somliga ärver i ett led (t.ex. NSArray -> NSMutableArray), medan ett fåtal har en lång kedja t.ex. NSResponder (i AppKit).
Som sagt, ObjC har en annan OO-filosofi än C++ (som lärs ut i parti och minut vid universitet och högskolor...)
/Per