2011-07-04 16 views
0

UITableViewが実装されているUIPopoverControllerがあります。私はpopovercontrollerからsuperviewに情報を渡そうとしています。 popovercontrollerに配置されたtableviewはdidSelectRowメソッドで情報を受け取りますが、情報はsuperViewに配置されたtextViewには転送されません。UITableViewを使用したUIPopoverController

以下は、選択したユーザーをtextviewに配置するためのコードです。これは、インデックスをクリックしたときに文字列を取り出して実際のフィールドに配置しようとするSuperviewコードです。私は問題を知っています。私はスーパービューに行が触れられたことを伝えておらず、その情報をフィールドに送信していませんが、これを試してみる方法についての良い説明は検索していません。

誰かが偉大になる提案があれば!私のスーパー

selectedFriend = [[NSString alloc] init]; 
    creatTweetText.text = [NSString stringWithFormat:@"@%@", selectedFriend]; 
+0

このコードから何かを削除しましたか?なぜdidSelectRowAtIndexPath:メソッドでalloc-init textBoxを作成し、それを数行下に解放しますか?そしてスーパービューで、なぜあなたがこの時点で空であるselectedFriendをalloc-initしてから、この空の値をcreatTweetTextに入れますか?すべてが明確ではない、私はあなたを助けることはできません、申し訳ありません。 – viggio24

+0

申し訳ありませんが、あなたが理解することは明らかではありませんでした。私は問題を説明するのに十分なコードを入れようとしますが、不要なコードでいっぱいになったページには衝撃を与えません。助けてくれてありがとう。私は下の@brandonが正しい方向に私を送るのを助けたと信じています。 – FreeAppl3

答えて

2

おかげ

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

    if (indexPath){ 


    NSString *selectedUser = [(Tweet*)[Friend objectAtIndex:indexPath.row] 
    followingScreenName]; 


    TwitterFollowersTimline *textBox = [[TwitterFollowersTimline alloc] 
    initWithNibName:@"TwitterFollowersTimeline" bundle:[NSBundle mainBundle]]; 



    textBox.selectedFriend = selectedUser; 


    NSLog(@"%@", selectedUser); 



    [textBox release]; 
    textBox = nil; 
    } 


    } 

あなたがデリゲートを設定したいとしているポップオーバーのビューコントローラからの情報を渡すために。ここにAppleのドキュメントへのリンクと良いガイドの例があります。

https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html

http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html

あなたは、テーブルビューのための方法を収容するビューコントローラを作成する際に基本的に、あなたはそれをデリゲートを与えたいと思うでしょう。その後、テーブルビューでセルが選択されると、必要な情報を使って代理人に電話をかけることができます。

+0

ありがとうBrandon!右の音!私は答えに感謝し、私はこれを比較的簡単に、迅速かつ無痛に行うことができるかもしれないと思う! – FreeAppl3

関連する問題