-1

複数のセル (詳細開示) を持つ TableViewController があり、それぞれが一意のデータ (タイトル/詳細など) に関連付けられています。セルの 1 つをクリックすると、(pushViewController を介して) 別の ViewController が読み込まれ、クリックされたセルに応じてデータが表示されます。

簡単な例:

TableViewController の各セルは、個別の URL に関連付けられています。セルの1つ(詳細開示)をクリックすると、イメージビューを含む次のViewControllerは、クリックされたセルのURLに対応する画像を開く必要があります。

これは、ストーリーボード、非 ARC なしで行う必要があります

どうやってそれをしますか?

これは私が DidSelectRowAtIndex に書いているものです

  NSMutableString *URL= [[SubFolderData valueForKey:@"URL"]objectAtIndex:indexPath.row];
    NSLog(@"URL %@", URL);
    File *FileUrl = [[File alloc]init];
    FileUrl.Url = URL;


    DocumentManagementAppDelegate *delegate=(DocumentManagementAppDelegate *)[[UIApplication sharedApplication] delegate];
    File *FileVC=[[File alloc]initWithNibName:@"File" bundle:nil];
    self.FileController=FileVC;
    [delegate.navigationController pushViewController:FileController animated:YES];
    [FileVC release];

SubFolderData は、問題なく行われている URL のみを取得するデータを含む配列です。

次に、2 番目の ViewController の新しいインスタンスを作成します

この「ファイル」には、NSMutableString「Url」を持つ 2 番目の ViewController があります。

4

2 に答える 2

0

File の .h ファイル内

    @interface File : UIViewController
    {
            NSString *strUploadVideoURL;
    }

    @property(nonatomic,retain) NSString *strUploadVideoURL;
    @end

File の .m ファイル内

    @synthesize strUploadVideoURL;

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
            self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
            if (self) {
                    self.strUploadVideoURL = [[NSString alloc] init];
            }
            return self;
    }

    -(void) dealloc {
            [strUploadVideoURL release];
            [super dealloc];
    }

メインビューの didselectrow メソッドで

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
            NSMutableString *URL= [[SubFolderData valueForKey:@"URL"]objectAtIndex:indexPath.row];
            [self.FileController setStrUploadVideoURL:URL];
            //code for push view.....
    }
于 2013-04-23T06:20:46.250 に答える