我有一個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