0

現在構築中のマスター/詳細ビュー アプリがあります。基本的に、マスター ビューのテーブルにリストがあり、ユーザーがアイテムを選択するとUIWebView、詳細ビ​​ューに Web ページが表示されます。表の 6 つのオブジェクトに応じて、約 6 つの異なる Web サイトをロードする必要があります。コードはある程度機能していますが、テーブル内の各項目に対して同じ Web ページを読み込んでいます。どのWebページをロードするかなどを伝えるには、switch caseステートメントを書くのが最善だと思いました。次のコードを使用して、でWebページを起動しましたWebView

//create the UIWeb objects
NSString *standardForm = @"http://jeremy.atkin.id.au";
NSString *csiroForm = @"http://www.csiro.gov.au";
NSString *kpmgForm = @"http://www.kpmg.com.au";
NSString *pacbrandsForm = @"http://www.pacbrands.com.au";
NSURL *url = [NSURL URLWithString:standardForm];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_formView loadRequest:requestObj];

次に、switch case ステートメントをまとめようとしましたが、宣言が間違っていて、常にエラーが発生しているようです...

switch (_formNumber)
{
    case 0:
        standardForm.url = standardForm;
        break;
    case 2:
        url.URLWithString = csiroForm;
        break;
    case 3:
        url.URLWithString = kpmgForm;
        break;
    case 4:
        url.URLWithString = pacbrandsForm;
        break;
}

これを正しく機能させるためのヘルプと指示は大歓迎です。これまでにマスター/詳細アプリを作成したことがないので、深いところにまっすぐ飛び込んだと思います!! 乾杯

4

2 に答える 2

0

リンクを 1 つの NSArray に追加し、選択した tableviewCell インデックスに基づいて URL を作成し、リクエストで Web ビューを読み込みます。

1) master に urlList のプロパティを作成する

@property (nonatomic, retain) NSArray *urlList;

次に、実装の合成。

@synthesize urlList;

2) init または viewDidLoad で配列を初期化します

self.urlList = [[NSArray alloc]initWithObjects:@"http://jeremy.atkin.id.au",@"http://www.csiro.gov.au", @"http://www.kpmg.com.au",@"http://www.pacbrands.com.au",nil];

3) didSelectRowAtIndexPath:index でリクエストを作成し、Web ビューをロードします。

NSURLRequest * request = [[NSURLRequest alloc]initWithURL:[[NSURL alloc]initWithString:[urlList objectAtIndex:indexPath]]];
[_formView loadRequest:request];

dealloc で (保持されたオブジェクトを) 解放することを忘れないでください。arc を使用している場合は、retain in プロパティを strong に変更します。

于 2013-02-14T07:45:14.057 に答える
0

UITableView Didselectmethod で URL を変更するだけです。

于 2013-02-14T07:15:47.843 に答える