2012-06-01 98 views
0

我有一個自定義單元格,標識符爲'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; 
} 
+1

如果您使用故事板,您應該刪除'if(cell == nil){...}'部分。故事板中的桌面視圖自動爲您創建一個單元格,因此出列調用將始終返回一個單元格。如果您刪除了該代碼,並且出現異常,您將知道您的單元格標識符不匹配。 –

回答

1

你寫這個方法嗎- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView?像這樣嘗試。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
    { 
     return 1; 

    } 
+1

沒有必要。這是一種可選方法。如果它不存在,tableView默認使用1節。 –

+0

嗨matthias,我已經改變了if(cell == nil){...}的一部分,但它仍然不起作用 – Alan

+0

我不知道它是否揭示了情況,但CustomCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];得到綠色的消息「線程1:信號SIGABRT」 – Alan

相關問題