-1

我开发了一个应用程序,使用TableView连接到带有搜索栏的 SQLite 数据库,一切正常。
我有一个详细视图控制器,它向我显示有关单击行的信息。如何将变量从AuthorVC.mto传递Details.m

部分代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{   
    NSLog(@"prepareForSegue: %@", segue.identifier);  
    if ([segue.identifier isEqualToString:@"Details"]) 
        // segue.identifier value here   
    {      
        Details *dv = segue.destinationViewController;
        dv.labelText.text = author.title;
        //  author.title = dv.labelText.text ;
        // your value to pass     

        [segue.destinationViewController setLabelText:author.title];     
    }  
}
4

3 回答 3

1

做这个:

Create property of variable in myDetails to pass data
Suppose i have NSString *strAuthoTitle in myDetails

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
 //Depending upon cell index pass your data differently
 myDetails *objmyDetails = [myDetails alloc] initWithNib:@"myDetails" bundle:nil] //alloc your controller for navigation 

 objmyDetails.strAuthoTitle = [yourArrayofAuthorTile objectAtIndex:indexPath.row];

 //Simarly other data can be passed
}

正如你没有提到你正在使用故事板,所以你需要在 AuthorVC 和 Details 控制器之间创建一个 segue 并使用该 segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 {   
  //NSLog(@"prepareForSegue: %@", segue.identifier);      
  if ([segue.identifier isEqualToString:@"DetailsPass"]) // segue.identifier value here
  {
   objmyDetails = segue.destinationViewController;
   objmyDetails.strText =lblText.text; // your value to pass
   //[segue.destinationViewController setStrText:lblText.text];
  }   
 }
于 2012-07-20T08:55:59.823 回答
0

假设您的详细VC中有2个属性,strName并且strDescription...

与在堆栈中推送详细的VC 之前相比,您可以简单地执行以下操作:

detailedVCObject.strName = @"whatever";
detailedVCObject.strDescription = @"whatever";

希望它会有所帮助...

于 2012-07-20T08:58:19.363 回答
0

带故事板

如何将序列 ios5 故事板 uitableview 中的数据传递到详细视图

http://kurrytran.blogspot.in/2011/10/ios-5-storyboard-and.html


没有故事板为此,您必须访问第一类中的变量,例如,单击表格行时,您必须在另一个视图上导航,例如根视图。因此,为此在根视图中定义一个变量,并在您在表的 didselect 方法中创建对象时访问该视图。

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

RootViewController *rvController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]];

//Increment the Current View
rvController.CurrentLevel += 1;

//Set the title;
rvController.CurrentTitle = [dictionary objectForKey:@"Title"];

//Push the new table view on the stack
[self.navigationController pushViewController:rvController animated:YES];

[rv release]
}
于 2012-07-20T08:53:29.720 回答