Tôi đang sử dụng bảng phân cảnh ios5 với UITableViewController có lớp con UITableViewCell. Tôi không muốn thiết kế các phần tử trực quan của ô trong trình thiết kế bảng phân cảnh cho khung nhìn, vì tôi muốn sử dụng một lớp con có thể sử dụng lại của UITableViewCell (cụ thể là TDBadgedCell).dequeueReusableCellWithIdentifier không trả lại ô của loại tùy chỉnh của tôi
Tôi đã đặt số nhận dạng ô trong trình thiết kế bảng phân cảnh và tất cả các hàng tải chính xác trong UITableView miễn là tôi không đặt bất kỳ thuộc tính nào duy nhất cho TDBadgedCell. Nếu tôi đặt thuộc tính badgeString
mặc dù đó là duy nhất cho TDBadgedCell, tôi nhận được một ngoại lệ. Tôi thu hẹp lại rằng dequeueReusableCellWithIdentifier:
không trả về một ô thuộc loại TDBadgedCell.
Tôi chỉ chạy với điều này bằng UITableViewController. Tôi có một UIViewController với một UITableView nhúng thiết lập trong cùng một thời trang và nó không phải là một vấn đề. Bất kỳ ý tưởng?
- (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");
bạn cũng đã thay đổi "Lớp tùy chỉnh" thành TDBadgedCell trong trình thiết kế bảng phân cảnh chưa? – fengd
có thể trùng lặp của [Prototype Cells in a nib thay vì bảng phân cảnh] (http://stackoverflow.com/questions/8574188/prototype-cells-in-a-nib-instead-of-a-storyboard) - chỉ có thể, Tôi không chắc chắn nếu bạn có một xib riêng biệt cho tế bào này hay không. – jrturton
June1st - Đó là nó! Cảm ơn! Tôi không chắc chắn làm thế nào để đánh dấu câu trả lời của bạn như là câu trả lời mặc dù. – scubasteve