Nur als Hintergrundinformation, es gibt keine Kompilierzeitfehler oder Warnungen im Projekt "Project".
Es gibt zahlreiche Fälle, in denen derselbe Name einer Instanzvariablen in zwei (oder mehr) Klassen verwendet wird. Im Folgenden werde ich den Variablennamen "index" als Beispiel verwenden. Sie kommt als Instanzvariable in Klasse1 und Klasse2 vor. Die Variable hat in beiden Klassen unterschiedliche, aber ähnliche Bedeutungen, daher die Verwendung des gemeinsamen Begriffs.
Ich definiere den Index in der Header-Datei sowohl für class1 als auch für class2, zum Beispiel:
@Interface class1 : NSObject { int index; } ...
Wiederholen Sie dies für Klasse 2.
Wenn ich das Projekt erstelle, meldet Xcode:
Doppeltes Symbol _index in /Project/build/Project.build/Debug-iphonesimulator/Project.build/Objects-normal/i386/class1.o und /Project/build/Project.build/Debug-iphonesimulator/Project.build/Objects-normal/i386/class2.o
Wenn Sie die Vorkommen von "index" in "indexnotverycommon" ändern, wird der gleiche Fehler mit dem neuen Namen gemeldet.
Wenn Sie die Vorkommen in "index1" und "index2" ändern, wird der Fehler behoben. Xcode meldet dann das nächste Duplikat, das es beim Verknüpfen findet, und so weiter, und so weiter.
Ich kann den Umbenennungsprozess fortsetzen, obwohl ich das lieber nicht tun würde, da ich befürchte, dass ein eher pathologisches Problem zugrunde liegt.
Für jeden Rat oder jede Frage bin ich dankbar.