0

我有下面的代码:其中 Cell new 是自定义单元格,当用户选择必须传输到另一个 uiviewcontroller 以显示该 msg 的行时,该数组在索引处具有对象但我无法做到这一点。

通过这样做:我得到一个错误 Incompatible pointer types assignmenting to 'NSString *' from 'UILabel *'

VC2.DisplayMsg.text = cell.textLabel;

displayMsg 是 uiviewcontroller 中必须显示文本的标签。我哪里出错了?

请帮助我或建议任何其他方式将值从导航 uitableviwController 传输到另一个视图控制器,以选择行并在该 uiviewController 中显示消息。请帮助我。我非常感谢。

提前致谢。

完整代码:

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


Cellnew *cell = [array objectAtIndex:indexPath.row];


      ViewControllerDisplayMsg *VC2 = [[ViewControllerDisplayMsg alloc] init];

VC2.DisplayMsgtext = cell.textLabel.text;


    [self performSegueWithIdentifier:@"displayMsgSegueIdentifier" sender:self];

}

错误 :

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__NSCFString textLabel]:无法识别的选择器发送到实例

4

3 回答 3

2

您应该在 other 中定义一个NSString 属性,viewController首先将表中的值分配给这个字符串,最后在 viewController 的 viewDidLoad 方法中,您可以将此字符串分配给标签文本。将您的其他控制器定义为您的 FirstController 的属性是个好主意。

您应该在类中更新图形元素,因为相应的类或控制器负责显示图形元素和值。

你的TableViewController.h

@class SecondViewController;

@property(strong,nonatomic)SecondViewController secondVC;

你的TableViewController.m

self.secondVC=[SecondViewContrlller alloc]initwithNibName:@"SecondViewController" bundle:nil];
self.secondVC.stringValue= cell.textLabel.text;

YourOtherViewController.h

@property(strong,nonatomic)NSString *stringValue;

YourOtherViewController.m

-(void)viewDidLoad{

self.displayMsg.text=self.stringValue;

[super viewDidLoad];
}
于 2013-03-19T12:31:54.857 回答
1

在你的 UIViewController 中获取一个 NSString 属性,比如 DisplayMsg: 然后在 didSelectRowAtIndexPath 方法中:

VC2.DisplayMsg=cell.textLabel.text;
于 2013-03-19T12:36:54.167 回答
1
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Make sure your segue name in storyboard is the same as this line
    if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
    {
        // Get reference to the destination view controller
        YourViewController *vc = [segue destinationViewController];

        // Pass any objects to the view controller here, like...
        [vc setMyObjectHere:object];
    }
}

此代码将帮助您

于 2013-03-19T12:39:35.280 回答