我是法国人,很抱歉我的英语不好......
我想传递数据NSString *cellSelected
。
这是我的代码,谢谢你说出了什么问题:)
#import "PhotoViewController.h"
@interface PhotoCategoryViewController : UITableViewController
@property (nonatomic, strong) NSArray *categoryName;
@property (nonatomic,strong) NSString *cellSelected;
@end
@implementation PhotoCategoryViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
self.cellSelected = cell.textLabel.text;
NSLog(@"selected cell textLabel = %@",self.cellSelected);
PhotoViewController *viewcontroller = [[PhotoViewController alloc] init];
viewcontroller.cellSelected = self.cellSelected;
}
和第二节课:
#import "PhotoCategoryViewController.h"
@interface PhotoViewController : UICollectionViewController <UICollectionViewDataSource>
@property (nonatomic, strong) NSString *cellSelected;
- (void)viewWillAppear:(BOOL)animated
{
NSLog(@"%@", self.cellSelected);
}
它适用于第一个NSLog,但对于第二个(传递的数据),它返回:&#34; nil&#34; ...... :(
答案 0 :(得分:0)
欢迎使用Stackoverflow:)
第二堂课:
@property (nonatomic, readwrite, copy) NSString *cellSelected;
您需要使用readwrite
指定要从外部书写的内容
而copy
,以确保NSString
的值被复制,而不是被引用,这可能会丢失(这部分在过去的一年中引起了我很多头痛:))
答案 1 :(得分:0)
你的代码没有意义,这里有几个问题: