2

我有 RootCtrl 和 DetailCtrl。在 RootCtrl 上,我有一个 uiTableview。我使用这个函数来写出选择的结果:

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSLog(@"%@",cell.textLabel.text);

进入didSelectRowAtIndexPath。我想将 UILabel 中的 NSLog 结果显示到 Detailctrl 中,所以是另一个视图。我该怎么做?

4

3 回答 3

1

在 中输入以下代码RootViewController

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString*yourStringNameHere = [NSString stringWithFormat:@"%@",cell.textLabel.text];
NSLog(@"%@",yourStringNameHere);//this isn't used in retreiving the info
NSNumber *number = [NSNumber numberWithInt:1];
NSDictionary *yourDictionaryNameHere = [NSDictionary dictionaryWithObjectsAndKeys:
                    yourStringNameHere, @"yourStringNameHereDictionary",nil];

在 中输入以下代码DetailViewController

在头文件(.h)中放

IBOutlet UILabel *yourLabelNameHere; 

在主文件(.m)中使用

yourLabelNameHere.text= [yourDictionaryNameHere objectForKey:(@"yourStringNameHereDictionary")];

笔记:

  • 如果您无法访问字典,请输入 #import "RootViewController.h"
  • 我们使用NSDictionary将数据存储在 iPhone 内存中,这允许我们使用来自其他类的数据,否则仅使用 #import 您只能接收来自变量初始化的数据。
  • 从键接收来自 NSDictionary 的字符串
  • DetailViewController.h在输出到情节提要或 xib 文件的 UILabel 中设置
  • 要在转换开始时加载标签,请将字典接收器ViewDidLoad或方法(-(void)function)ViewDidLoad
于 2012-09-23T22:06:34.273 回答
0

你必须@property UILabel* myLabel在你的DetailCtrl班级中设置一个。然后,使用

MyDetailCtrlInstance.myLabel.text = cell.textLabel.text
于 2012-09-23T20:40:41.963 回答
0

好的,首先,忘记 NSLog 输出。NSLog 是 NSLog。那是另一回事。您真正想要的是获取单元格的文本,将其存储在某个地方,在另一个类中检索它并显示它。所以我要做的是创建外部变量(一个 NSString),将新选择的单元格文本存储在 didselectrowatindexpath 中,并在 Detailctrl 中访问它。

不确定是否每个人都会这样做,但我就是这样做的,它应该可以工作。

于 2012-09-23T23:27:36.627 回答