2016-04-27 5 views
-1

Ich habe drei Klassen und eine Methode in einer der Klassen erstellt, aber ich möchte nur meine anderen zwei Klassen in der Lage sein, die Methode aufzurufen. Irgendeine Schätzung, wie man das macht.Wie lasse ich nur einige Klassen in Objective C eine Methode aufrufen und nicht andere?

Danke.

+2

Mögliche Duplikate von [Friend-Klasse in Objective C] (http://stackoverflow.com/questions/6006701/friend-class-in-objective-c) – JimmyB

+1

implementieren 'Protokolle' und diese Klasse wird zu diesem Protokoll bestätigen wird müssen Methoden implementieren. – byJeevan

+0

Mögliches Duplikat von http://stackoverflow.com/questions/2241488/friend-classes-in-objective-c – JimmyB

Antwort

1

Wie in den Links in den Kommentaren erwähnt, erhalten Sie mit einer Kategorie ein ähnliches Verhalten in Objective-C. Der Unterschied zu C++ ist, dass es vom Compiler eher freiwillig als durchgesetzt wird.

Jede Klasse, die den Category-Header importiert, kann den Aufruf ausführen, und selbst wenn der Header nicht veröffentlicht wird, kann ein Programmierer die Methode aufrufen, indem er eine Category-Schnittstelle deklariert (oder eine Compiler-Warnung ignoriert).

Wenn Sie dies tun, um sich daran zu erinnern, diese Methoden nicht aufzurufen, funktionieren die Kategorien gut. Wenn Sie versuchen würden, sich gegen jemanden zu schützen, der die Methoden "einhackt", wäre das wenig Verteidigung.

Verwandte Themen