1

iOS 7 の GM バージョンをインストールし、アプリを iOS 7 にアップデートするために必要なすべてを正常にアップグレードしましたが、NSDate に関連してトラブルシューティングできないことが 1 つあります。iOS 6 では正常に動作していましたが、iOS 7 では動作しません。

TheItem.m という名前の 1 つのファイルで、次のことを行っています。

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
            NSLog(@"TIMEEEEEEEEEEEEEEE %@", currentString);
            [self setPubTime:currentString];    
}

次に:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ItemsCell";

    //ItemsViewCell Is class of UITableViewCell having the IBOutlet pubTimeLabel
    ItemsViewCell *cell = (ItemsViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];     

    TheItem *item = [[channel items] objectAtIndex:[indexPath row]];

    cell.pubTimeLabel.text = [item pubTime];

//    NSLog(@"PUB PUB %@", item.pubTime);


      return cell;
}

NSLogs には日付文字列が表示されていますが、tableviewcell には表示されていません。iOS 6 では正常に動作していましたが、iOS 7 に更新して以来、tableviewcell に日付文字列を表示するはずのラベルに何も表示されません。iOS Dev Forum で同じ質問をしてみましたが、受け取った回答に基づいて、iOS 7 の更新の問題ではありません。

誰が何が間違っているのか指摘できますか? 前もって感謝します。

更新:デバイスに iOS 7 GM をインストールした後、App Store から、同じプロジェクトを使用して提出されたアプリの 1 つをインストールしましたが、日付ラベルが表示されません。

更新:トラブルシューティングのために行ったいくつかのことは次のとおりです: NSLogs を使用して、ある時点で nil でないかどうかを確認し、tableviewcell の高さを変更し、新しいラベルを作成し、新しいアウトレットを作成し、背景とセルの画像を削除しました、ラベルのフォントと色を変更し、シミュレーターとデバイスの両方でプロジェクトを試しましたが、それでもうまくいきませんでした。

更新:受け取ったコメントによると、背景や色の問題などがあるようです。さらにトラブルシューティングを行いましたが、色や背景などとは関係ありません。次のコードでは、いくつかの置換を行いました。

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
        //    [self setPubTime:currentString];  THIS LINE IS REPLACED WITH THE FOLLOWING

    NSDateFormatter *df1 = [[NSDateFormatter alloc] init];
    [df1 setDateFormat:@"EEE, d MMM yyyy hh:mm:ss ZZZZ"];
    NSDate *newDate = [df1 dateFromString:currentString];
    NSDateFormatter *df2 = [[NSDateFormatter alloc] init];
    [df2 setDateFormat:@"EEE,d MMM yyyy"];
    NSString *dateString = [df2 stringFromDate:newDate];
    NSLog(@"DATE STRING %@", dateString);
    [self setPubTime:dateString];
}

現在、同じラベルに日付が表示されており、ラベルに色や背景の問題がないことを証明しています. この更新されたコードを使用しない唯一の問題は、いくつかのセルに日付が表示され、何も表示されず、null が返されることです。

4

2 に答える 2