0

UIViewControllerクラスであるMainViewControllerがあります。このビューには、テーブルビューと別のビューが埋め込まれています。ご覧のとおり、テーブルビューデリゲートをViewControllerに追加しました。

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate,   UITableViewDataSource, UITableViewDelegate> {

今、インターネットでの複数の検索から約50回尋ねられた私の質問に、それでも私は解決策を見つけることができませんでした。

なぜreloadDataが機能しないのですか...?

XMLフィードから情報をダウンロードしており、アプリデリゲートからフィードを更新しています。

- (void)applicationDidBecomeActive:(UIApplication *)application

複数のNSLogを挿入しましたが、これが私が見つけたものです。XMLフィードから更新されたデータは問題なく送信されます。ただし、テーブルビューのセルは更新されていません。

NSLogを次の場所に配置しました。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

データは更新されていますが、[tableViewreloadData]を呼び出すと; cellForRowAtIndexPathが呼び出されることはありません。

誰かがこの問題を手伝ってくれることを願っています。私はこの問題に約12時間取り組んできましたが、運がありませんでした。複数のサイトで検索ボタンを使い果たしました。

参考までに:-TableViewはInterfaceBuilderに組み込まれています。

-テーブルビュープログラミングガイドの51ページから始まるAppleの例に従って、テーブルはTableViewCellsを介して1つずつロードされています。

追加コード:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 17;
}

助けてくれてありがとう

4

2 に答える 2

0

すべてが今機能しています...それは私の側で多くの時間を無駄にしました...

- (void)applicationWillEnterForeground:(UIApplication *)application
{
[_mainViewController refresh];
[_mainViewController.tableView reloadData];
}

- (void)refresh {
Parser *xmlParser = [[Parser alloc] init];
[xmlParser parseRssFeed:@"http://www.somesite.com/file.xml" withDelegate:self];
[xmlParser release];
[self.tableView reloadData];
}
于 2011-09-18T23:55:41.573 に答える
0

コードの例はありますか?

私の最初のアイデア:

  • データソースが接続されていません
  • セクションの行は0を返します
  • セクションは0を返します
于 2011-09-18T13:45:07.350 に答える