Używam scenariuszy ios5 z UITableViewController z podklasą UITableViewCell. Nie chcę projektować wizualnych elementów komórki w projektorze storyboardów dla widoku, ponieważ chcę użyć podklasy wielokrotnego użytku UITableViewCell (konkretnie TDBadgedCell).dequeueReusableCellWithIdentifier nie zwraca komórki mojego niestandardowego typu
Ustawiłem identyfikator komórki w projektorze scenorysów i wszystkie wiersze ładują się poprawnie w widoku UITableView, o ile nie ustawiam żadnej z właściwości unikalnych dla TDBadgedCell. Jeśli ustawię właściwość badgeString
, która jest unikalna dla TDBadgedCell, otrzymam wyjątek. Zawęziłem, że dequeueReusableCellWithIdentifier:
nie zwraca komórki typu TDBadgedCell.
Używam tylko tego z UITableViewController. Mam UIViewController z osadzonym UITableView skonfigurowany w taki sam sposób i to nie jest problem. Jakieś pomysły?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *CellIdentifier = @"PhoneNumberCell";
TDBadgedCell *cell = (TDBadgedCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[TDBadgedCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if ([cell isKindOfClass:[TDBadgedCell class]])
{
NSLog(@"It is TDBadgedCell");
}
else
NSLog(@"It is NOT TDBadgedCell");
czy zmieniłeś również "Klasę niestandardową" na TDBadgedCell w projektorze scenopisów? – fengd
możliwy duplikat [Prototype Cells in a nib zamiast storyboard] (http://stackoverflow.com/questions/8574188/prototype-cells-in-a-nib-instead-a-storyboard) - możliwe tylko, Nie jestem pewien, czy masz oddzielne xib dla tej komórki, czy nie. – jrturton
June1st - To było to! Dzięki! Nie jestem jednak pewien, jak oznaczyć twoją odpowiedź jako odpowiedź. – scubasteve