将单元格标题传递给另一个视图控制器

时间:2013-06-04 14:57:44

标签: ios objective-c uitableview

今天我遇到了这个问题:

我这样做了一个tableview的第一个单元格的标题显示在我的“Home”视图控制器中。

这就是我目前的dun,但是homeviewcontroller中的标签没有得到第一个单元格的标题文本。

Reminders.h:

NSMutableString *primerevento;

@property (strong, nonatomic) NSMutableString *primerevento;

Reminders.m:

@synthesize primerevento;

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

    ....

    UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];

    if(indexPath.row == 1){
        cell.textLabel.text = primerevento;
    }

HomeViewController.h

@property (weak, nonatomic) IBOutlet UILabel *promediototal;

HomeViewController.m

@synthesize promediototal

    - (void)viewDidLoad
    {

    [super viewDidLoad];


    ....

    Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];
    promediototal.text = viewsiguiente.primerevento;
    [self presentViewController:viewsiguiente animated:YES completion:NULL];

我在homeviewcontroller上的标签出现在blanc中,我不知道我做错了什么,我真的很想。

感谢您的时间

2 个答案:

答案 0 :(得分:0)

在homeViewController中,不要忘记导入remindersViewController的.h。

#import "reminders.h"
@property (weak, nonatomic) IBOutlet UILabel *promediototal;

然后在你想要你的文本的homeViewController.m中 - promediototal.text = reminders.primerevento.text;

@synthesize promediototal

- (void)viewDidLoad
{

[super viewDidLoad];


....

Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];
promediototal.text = reminders.primerevento.text;
[self presentViewController:viewsiguiente animated:YES completion:NULL];

答案 1 :(得分:0)

我们可能仍然会查看代码以了解您的最新动态。 但有一件事:

Reminders *viewsiguiente = [[Reminders alloc] initWithNibName:nil bundle:nil];// 1)
promediototal.text = viewsiguiente.primerevento; // 2)
[self presentViewController:viewsiguiente animated:YES completion:NULL]; // 3)

1)那是什么目的? Firstyou创建一个全新的视图控制器对象。因为你没有从笔尖创建它(这很好)它不能设置任何poperties。所以viewsiguiente.primerevento在那个时间点是nil

2)现在你取这个零值并将其分配给成为promeditional.text的{​​{1}}?有什么意义呢?你的意思是?

nil

3)现在您呈现新创建的视图控制器viewsiguiente.primerevento = promediototal.text; 。你没有对它做任何改变。如果viewsiguiente的实现负责视图,那可能没问题。但是你没有从外部设置任何值。