Ios 将数据从UITableView传递到XIB子视图

Ios 将数据从UITableView传递到XIB子视图,ios,objective-c,xcode,uitableview,subview,Ios,Objective C,Xcode,Uitableview,Subview,我相信有一个简单的解决办法,我已经四处看看,找不到任何帮助。我正在尝试将数据从UITableview传递到子视图。我不想使用segue,因为我希望xib文件与所需数据显示在同一个viewcontroller上。NSLog按预期输出,但不会传递到nowplayingnib视图中的字符串 ViewController.m - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPat

我相信有一个简单的解决办法,我已经四处看看,找不到任何帮助。我正在尝试将数据从UITableview传递到子视图。我不想使用segue,因为我希望xib文件与所需数据显示在同一个viewcontroller上。NSLog按预期输出,但不会传递到nowplayingnib视图中的字符串

ViewController.m

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

SongInfo *song = songsArray[indexPath.row];



NowPlayingNib *nowplayingnib = (NowPlayingNib *)[NowPlayingNib viewFromNib];


[self.view addSubview:nowplayingnib];


nowplayingnib.videoId = song.videoId;

NSLog(@"%@", song.videoId);

}
更新

现在播放nib.h

@interface NowPlayingNib : UIView 

@property (strong, nonatomic) NSString *videoId;
@property (strong, nonatomic) NSString *title;

+(id)viewFromNib;


@end
正在玩

@implementation NowPlayingNib

@synthesize videoId;

-(void)awakeFromNib{


NSLog(@"video id inside nib = %@", self.videoId);

}

+(id)viewFromNib{
ViewController *songinfo = [[[NSBundle mainBundle] loadNibNamed:@"NowPlayingNib" owner:self options:NULL]lastObject];

return songinfo;


}
nowplayingnib.videoId的类型是什么

使其@property非原子、强并再次检查

重写init方法,如下所示:

+(id)viewFromNib{
ViewController *songinfo = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:NULL]lastObject];

return songinfo;


}
你的产出NSLog@videonib内的id=%@,self.videoId;
在awakeFromNib方法中,但您仅在nib加载并添加到superview后才将值分配给videoId?

感谢您的回复,但它仍然返回null。您的属性看起来如何?你是怎么写viewFromNib的?出于某种原因还是不走运。我想知道这是否是某种委托错误…你是如何检查的?你将它传递给log,或者你在屏幕上看不到任何东西?Ville Rinne是正确的,我在AwakefromNib方法中运行NSLog,但到那时它还没有被分配。感谢您的帮助。请共享您的viewFromNib方法代码和标题代码ViewController*songinfo=[[NSBundle mainBundle]loadNibNamed:@NowPlayingNib所有者:自选项:NULL]lastObject];-您在+方法中将所有者设置为“self”。应该是零