Ich habe eine Warnung, die ich in Xcode unterdrücken möchte, aber ich kann den Namen der Warnung nicht finden. Ich habe -fdiagnostics-show-category=name
aktiviert und die Protokolle zeigen, dass es ein semantisches Problem ist. Mit Blick auf Clangs Quelle, I denke Ich habe eine test for this scenario gefunden, aber kann nicht scheinen, um den Namen davon aufzuspüren.So finden Sie eine Clang-Warnflagge in Xcode, die in Build-Logs nicht vorhanden ist
Derzeit sind die Build-Protokolle zeigen dies:
m:89:29: warning: assigning to 'id<AProtocol>' from incompatible type 'AViewController *' [Semantic Issue]
self.tableView.delegate = self.aController;
Die ID für die Warnung auch ist - aber egal, was ich versuche, kann ich nicht scheinen, diese weg zu machen gehen:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-WNO-CLUE-WHAT-THE-WARNING-FLAG-IS"
self.tableView.delegate = self.aController;
#pragma clang diagnostic pop
Natürlich ist mir bewusst, immer die Warnung wird bevorzugt, und ich kann dies mit einem Protokoll Cast tun. Aber an diesem Punkt habe ich so sehr nach der Warnung gesucht, es fühlt sich einfach an wie unerledigte Angelegenheiten und ich würde gerne die Antwort wissen. Ich habe auch "freakingclangwarnings.com" durchsucht und es ist auch nicht dort, soweit ich das beurteilen kann.
Anstatt die Warnung oder das Casting zu unterdrücken, sollten Sie AViewController explizit dazu auffordern, AProtocol zu implementieren, wodurch die Warnung verschwinden sollte. – fishinear
Das ist aber nicht meine Frage;) –