我有一個自定義單元格,標識符爲'tweetCell'我已經將它導入到我的tableviewcontroller.h文件中。我已經將該類與故事板中的原型單元相關聯。所有的UILabel連接到單元格,但我無法使用tableview來顯示自定義單元格。它有用嗎?然後過夜停下來?我知道類文件需要以大寫字母開頭,我已經改變了這一點,但無濟於事。任何人都可以在此發現我的錯誤在此先感謝......自定義單元格不顯示在tableView中
- (void)fetchTweets
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* data = [NSData dataWithContentsOfURL:
[NSURL URLWithString: @"http://search.twitter.com/search.json?q=%23mysearchhashtag"]];
NSError* error;
tweets = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
});
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return tweets.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"tweetCell";
customCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[customCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
NSString *tweetText = [tweet valueForKey:@"text"];
NSArray *tweetComponents = [tweetText componentsSeparatedByString:@":"];
cell.firstDetail.text = [tweetComponents objectAtIndex:0];
cell.secondDetail.text = [tweetComponents objectAtIndex:1];
cell.thirdDetail.text = [tweetComponents objectAtIndex:2];
return cell;
}
如果您使用故事板,您應該刪除'if(cell == nil){...}'部分。故事板中的桌面視圖自動爲您創建一個單元格,因此出列調用將始終返回一個單元格。如果您刪除了該代碼,並且出現異常,您將知道您的單元格標識符不匹配。 –