Otrzymuję to ostrzeżenie od scenorysu - komórki tabeli prototypów muszą mieć identyfikatory ponownego wykorzystania.
Zmieniłem nazwę identyfikatora w inspektorze atrybutów, ale wygląda na to, że nie usunęło ostrzeżenia.
Jakieś sugestie?
iphone
ios
xcode
storyboard
K.Honda
źródło
źródło
Odpowiedzi:
Aby wyłączyć ostrzeżenie, musisz nadać nazwę identyfikatorowi komórki:
źródło
Innym sposobem jest ustawienie właściwości 'Prototype Cells' widoku tabeli na zero w Attributes Inspector, jeśli definiujesz komórkę programowo za pomocą .xib.
źródło
Ponieważ storyboard jest w rzeczywistości plikiem XML, kolejną sztuczką jest otwarcie storyboardu za pomocą dowolnego edytora tekstu (nie Xcode!) I spróbuj znaleźć wszystkie węzły tableViewCell. Na przykład naciśnij CMD + F , wpisz
<tableViewCell contentMode="scaleToFill"
i naciśnij Enter. Prawdopodobnie dowiesz się, wiersze takie same jak w tym:Proszę zwrócić uwagę na
reuseIdentifier="GenericCellID"
kluczową wartość. Wiersze, które uruchamiają ostrzeżenie (bez identyfikatorów ponownego wykorzystania), nie będą miały takiej wartości klucza. Spójrz na węzły powyżej w edytorze tekstu, a zobaczysztableViewController
węzeł z nazwą klasy, którą musisz sprawdzić w edytorze scenariuszy Xcode i naprawić, zgodnie z odpowiedzią aleroot.źródło
Open As
>>Source Code
Jeśli ostrzeżenie Xcode nadal nie znika nawet po ustawieniu reuseIdentifier, wypróbuj Menu "Produkt -> Wyczyść". Pomogło mi to i po tym ostrzeżenie już się nie pojawiało.
źródło
Ponieważ dwukrotne kliknięcie tego ostrzeżenia może prowadzić do odrobiny dzikiego pościgu za gęsią skórką (konkretny UITableViewCell nie jest wybierany), chciałem tylko dodać, że chociaż niektóre z tych ostrzeżeń zostaną automatycznie rozwiązane, niektóre nie .
Jeśli masz pewność, że oznaczyłeś wszystkie swoje komórki w Storyboard, odbuduj projekt - Twoje ostrzeżenie może zniknąć (tak jak moje).
źródło
Zdrowaś Maryjo: ponowne uruchomienie XCode zadziałało dla mnie (ale prawdopodobnie była to tylko ręczna przebudowa, która była wymagana).
źródło
Otrzymałem to ostrzeżenie dla Xcode 7. Pracuję z Swift. Nie dodałem kontrolera nawigacji do początkowego kontrolera widoku. Kiedy to zrobiłem… dostałem ostrzeżenie od StoryBoard. To co zrobiłem to:
Ostrzeżenie idzie ... jeśli nie wyczyść sdk :)
źródło
Upewnij się, że ustawiasz identyfikator ponownego użycia na obiekcie, a nie identyfikator przywrócenia . Oba są dostępne za pośrednictwem scenorysu i łatwo je pomylić.
W pliku XML scenorysu, które chcesz ustawić
reuseIdentifier
, nierestorationIdentifier
.źródło
Zauważyłem, że ten błąd występuje, gdy masz wiele komórek prototypowych (we właściwościach widoku tabeli) i nie nadałeś im wszystkich identyfikatorów ponownego wykorzystania.
źródło
Identyfikator to nazwa, do której się odnosisz w swoim pliku .m. Gdy nie jest wypełniona, nie można odwołać się do komórki.
źródło
To do ustawiania identyfikatora ponownego wykorzystania przez programowe
źródło