1

テーブルに問題があります。プロジェクトに埋め込む前に、Apple の LazyTableImages の例を使用しています。このようにxmlをロードすると、すべて正常に動作します

<im:title>1</im:title>
<content type="html">some desc</content>
<im:releaseDate label="October 23, 2013">2013-10-23T00:00:00-07:00</im:releaseDate>
<im:artist href="http:/facebook.com">Facebook</im:artist>               
<im:name>1</im:name>
<im:image height="53">http://chingfong.com/Icon.png</im:image>
<url>http://facebook.com/url>
<im:date>Ene, 27 2013</im:date>

ここに私のAppRecord.hがあります

@property (nonatomic, strong) NSString *appName;
@property (nonatomic, strong) UIImage *appIcon;
@property (nonatomic, strong) NSString *artist;
@property (nonatomic, strong) NSString *imageURLString;
@property (nonatomic, strong) NSString *appURLString;
@property (nonatomic, strong) NSString *appURL;

ParseOperation.h - 私も追加しました

static NSString *kUrlStr    = @"url";


 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
                                          namespaceURI:(NSString *)namespaceURI
                                         qualifiedName:(NSString *)qName
    {
        if (self.workingEntry)
        {
            if (self.storingCharacterData)
            {
                NSString *trimmedString = [self.workingPropertyString stringByTrimmingCharactersInSet:
                                           [NSCharacterSet whitespaceAndNewlineCharacterSet]];
                [self.workingPropertyString setString:@""];  // clear the string for next time
                if ([elementName isEqualToString:kIDStr])
                {
                    self.workingEntry.appURLString = trimmedString;
                }
                else if ([elementName isEqualToString:kNameStr])
                {        
                    self.workingEntry.appName = trimmedString;
                }
                else if ([elementName isEqualToString:kImageStr])
                {
                    self.workingEntry.imageURLString = trimmedString;
                }
                else if ([elementName isEqualToString:kUrlStr])
                {
                    self.workingEntry.appURL = trimmedString;
                }
                else if ([elementName isEqualToString:kArtistStr])
                {
                    self.workingEntry.artist = trimmedString;
                }
            }
            else if ([elementName isEqualToString:kEntryStr])
            {
                [self.workingArray addObject:self.workingEntry];  
                self.workingEntry = nil;
            }
        }

    }

tableView の RootViewController.m didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row];
    NSString *urlAddress = appRecord.appURL;
    NSURL *url = [NSURL URLWithString:urlAddress];
    WebViewController *detailViewController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil];
//    WebViewController.sites= [_entries objectAtIndex:indexPath.row];
    [detailViewController.webView loadRequest:[NSURLRequest requestWithURL:url]];

    [self.navigationController pushViewController:detailViewController animated:YES];
}

WebViewController.h

@interface WebViewController : UIViewController <UIWebViewDelegate>
@property (nonatomic, strong) IBOutlet UIWebView *webView;

テーブルは正常にロードされ、セルを選択すると WebViewController にプッシュされますが、UIWebView は Web ページをロードしませんでした。空白 (白) のみです。

誰かがそれを修正するのを手伝ってもらえますか? 本当にありがとう!

4

1 に答える 1

0

RootViewControllerからにURL を渡し、WebViewControllerで Web ビューを更新するのが最善の方法だと思いますWebViewController。したがって、次のようにコードを変更する必要があります。

tableView の RootViewController.m didSelectRowAtIndexPath

// Add a @property of your detail view for lazing
@property (nonatomic, strong) WebViewController *detailViewController;

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row];

    if (!_detailViewController)
        self.detailViewController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil];

   self.detailViewController.websiteURL = appRecord.appURL;

    [self.navigationController pushViewController:self.detailViewController animated:YES];

}

WebViewController.h

@interface WebViewController : UIViewController <UIWebViewDelegate>
@property (nonatomic, strong) IBOutlet UIWebView *webView;
@property (nonatomic, strong) NSString *websiteURL;

WebViewController.m

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    // URL Request Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:_websiteURL]];

    // Load the request in the UIWebView
    [_webView loadRequest:requestObj];
}
于 2013-11-05T14:29:04.820 に答える