我有一个UITableViewController,我需要时可以实际调用我的超级视图。当我点击表格视图时,我希望信息被放置在UITextField中。现在我可以从超级视图中正确记录日志,但是文本永远不会放在正确的字段中。从UITableView发送信息到SuperView
从UITablViewController
出发:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
NSLog(@"Index %i Touched:",indexPath.row);
self.MainView = [[TwitterViewController alloc] init];
self.MainView.view = super.view;
selectedFriend = [(Tweet*)[friends objectAtIndex:indexPath.row]followingScreenName];
self.MainView.selectedFriendForTweet = self.selectedFriend;
[self.MainView setSelectedFriendInBody:self.selectedFriend
into:self.MainView.TweetBody
with:self];
//NSLog(@"selected name on tblview = %@",selectedFriend);
self.MainView.TweetBody.text = self.selectedFriend;
}
当你看到当用户点击tblview
[self.MainView setSelectedFriendInBody我的方法被称为:self.selectedFriend 到:self.MainView .TweetBody with:self];
这里是该方法:现在这个日志工程和信息是正确的,但不会进入textview!
-(void)setSelectedFriendInBody:(NSString*)aString into:(UITextView*)atextView with:(id)sender
{
aString = friendsTbl.selectedFriend;
friendsTbl.selectedFriend = self.selectedFriendForTweet;
atextView = self.TweetBody;
[self.TweetBody setText:selectedFriendForTweet];
NSLog(@"superviews name = %@", selectedFriendForTweet);
[selectedFriendForTweet retain];
}
任何帮助将不胜感激!谢谢
感谢您的回应!我现在正在尝试,并且不通过代理发送信息。一切尽可能的代表去工作,并能够使用主视图中的void语句,但在选择tableview时它永远不会被调用。这是什么得到2011-09-24 19:02:05.278 ThemeCatcher [11717:607] someString:关于管理 2011-09-24 19:02:06.396 ThemeCatcher [11717:607]索引10触摸: 2011-09-24 19:02:06.398 ThemeCatcher [11717:607] someString:Ech0riginal 2011-09-24 19:02:07.866 ThemeCatcher [11717:607]索引12触摸: – FreeAppl3
你是否已经将委托设置为实现?我的意思是'mySubView.myDelegate = self;'这一行,并且这个代码片段叫做?你确定委托方法没有被解雇吗?请用更多的NSLog或断点测试。 – thomas
是的,只是用断点和日志来检查。一切似乎工作,直到实际的委托方法需要被调用! NSLog(@“ERR:TweetBody未设置”);绝不会发生!我在那里放置日志和断点,它永远不会被调用?我在[self.delegate setSelectedFriendInBody:selectedFriend]上得到了一个断点;但不是在superview void委托方法 – FreeAppl3