2012-12-26 9 views
8

Dziś rano majstrowałem przy XCode 4.5.2 i chciałem zrobić widok tabeli Naturalnie dodałem do jednego z nich protokoły UITableViewDataSource i UITableViewDelegate w moich definicjach kontrolerów.Ostrzeżenia dotyczące kompilacji dotyczące brakujących wymaganych protokołów NIE ROZPOZNAJĄCYCH

#import <UIKit/UIKit.h> 

@interface MyViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> 

@end 

#import "MyViewController.h" 

@implementation MyViewController 

@end 

Teraz wiem, że na tym etapie muszę wdrożyć @required metod protokołu UITableViewDataSource ale z (przypuszczalnie TDD) przyzwyczajenia postanowiłem wykonać build pierwszy z oczekiwaniem, że kompilator będzie rzucać się ostrzeżenia o niezaimplementowane @ wymagane metody (wskazując mi, które z nich zastosować).

Ale NIE kompilacji zakończone bez jednego błędu lub ostrzeżenia od kompilatora, który mylić i niepokoi mnie nieznacznie.

Więc zdaję sobie sprawę, że to pytanie jest zwykle odwrotnie, tj. "Dlaczego otrzymuję to ostrzeżenie", zamiast "dlaczego NIE otrzymuję tego ostrzeżenia", ale ten naprawdę prosty problem naprawdę mnie zirytował. Najwyraźniej robię coś złego, ale nie mam pojęcia co. Jakieś pomysły, jak to możliwe?

FYI to nowy projekt bez ustawiania ustawień projektu/projektu na zupełnie nowej instalacji czystej XCode 4.5.2 na nowej MacBooku.

+0

wyczyściłeś cel, usunąłeś dane pochodne i zaznaczyłeś je? – Sumanth

+0

Dzięki Sumanth, już wypróbowałem czyszczenie i restart itd. Właśnie próbowałem czyszczenia, kończąc XCode, usuwając folder danych pochodnych dla projektu, restartując XCode i przebudowując ale z tym samym wynikiem. –

+0

Miałem takie samo doświadczenie i ktoś mnie tutaj związał. Oto moje pytanie, zawierające minimalny przypadek testowy: http://stackoverflow.com/questions/17453434/why-does-xcode-not-throw-a-warning-over-my-incomplete-implementation-the-uita –

Odpowiedz

0

W XCode 4.5.x istnieje możliwość ustawienia różnych ostrzeżeń do wyświetlenia (TAK/NIE). Możesz to sprawdzić w ustawieniach kompilacji Ostrzeżenia kompilatora dla kompilatora LLVM 4.1.

Mam nadzieję, że to rozwiąże Twój problem.

+0

Doceń odpowiedź, ale sprawdziłem i wartość "Niekompletne protokoły Object-C" jest już ustawiona na TAK. –

Powiązane problemy