无法将 UITableViewCell didSelectRowAtIndexPath 数据传递给另一个视图控制器

Posted

技术标签:

【中文标题】无法将 UITableViewCell didSelectRowAtIndexPath 数据传递给另一个视图控制器【英文标题】:Can't pass UITableViewCell didSelectRowAtIndexPath data to another view controller 【发布时间】:2012-03-03 10:14:03 【问题描述】:

我目前在我的主视图控制器中有一个 UITableView。我希望将所选行的数据传递给我项目中的另一个视图控制器。

这是我到目前为止所得到的,尽管有一个错误。为什么是这样?我在 .h 文件中引用了类和头文件。

我非常感谢您对此提供的帮助,因为我已经尝试了所有我能想到的方法。

【问题讨论】:

【参考方案1】:
Simply synthesize the object in the destination view.
It will work fine...

like:
in .h

 @property(nonatomic, retain) UILabel *note;

in .m 
@synthesize note;

【讨论】:

但有一件事,我放了[an.note setText:selectedNote];,除了文本在另一个视图中实际上并没有改变。出了什么问题? 好吧,但是你可以在其他视图中取NSString,然后在该视图中分配字符串值将很容易完成。 我的意思是,不要直接从当前视图为标签分配字符串值。 如果我这样做,文本只是空白:( 我认为你没有将对象与 xib 连接。【参考方案2】:

很简单,我认为note是一个UILabel,

根据你的错误 请在 AddNote 中使用此代码。 h文件

     NSString  *noteStr; //ios 4
     IBoutlet   UILabel *note;


@property(nonatomic, retain) NSString  *noteStr; //Ios 4
@property(nonatomic, retain) UILabel *note;



@property(nonatomic, strong) NSString   *noteStr;
 @property(nonatomic, strong) UILabel *note;   //Ios 5

在 AddNote 中。 .m 文件

@synthesize note,noteStr;

self.note.text=noteStr; //in ViewWillAppear

有时应用程序崩溃,因为如果您在 Ios 4 中工作,请更正此代码

an.noteStr - [selectNote retain];

【讨论】:

【参考方案3】:

声明全局使用的静态变量。 使用关键字 extern

Create Common.h

extern NSMutableArray *gMyBasketCollectionList;


common.m

NSMutableArray *gMyBasketCollectionList;


Use This Mutable Aarray to Store Your Data and Display in Any other
include common.h in First View And SecondView 
Add Object to mutable Array in First View And 
Show SecondView And Display access that Array

【讨论】:

以上是关于无法将 UITableViewCell didSelectRowAtIndexPath 数据传递给另一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

无法将“UITableViewCell”类型的值转换为“AppName.CustomCellName”

(iOS + Firebase)无法将图像从 UITableViewCell 传递给下一个 ViewController

无法向 UITableViewCell 添加标签

如何使 UITableViewCell 居中,约束无法对齐

将 UIImageView 添加到自定义 UITableViewCell

无法将 UITableViewCell didSelectRowAtIndexPath 数据传递给另一个视图控制器