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?
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?
Odpowiedzi:
Aby wyłączyć ostrzeżenie, musisz nadać nazwę identyfikatorowi komórki:
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:
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="GenericCellID" id="kBr-Qn-Tki">
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 zobaczysz tableViewController
węzeł z nazwą klasy, którą musisz sprawdzić w edytorze scenariuszy Xcode i naprawić, zgodnie z odpowiedzią aleroot.
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.
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).
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 :)
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.
To do ustawiania identyfikatora ponownego wykorzystania przez programowe
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath*)indexPath
{
static NSString *cellIdentifier = @"wot";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell)
cell = [[UITableViewCell alloc] initWithStyle: someStyle reuseIdentifier: cellIdentifier];
return cell;
}