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.
wyczyściłeś cel, usunąłeś dane pochodne i zaznaczyłeś je? – Sumanth
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. –
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 –