0

入力された UITableView を持つ UIPopoverController があります。popovercontroller からスーパービューに情報を渡そうとしています。popovercontroller に配置された tableview は didSelectRow メソッドで情報を受け取りますが、superView に配置された textView には情報が転送されません。

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

誰かが何か提案があれば、それは素晴らしいことです!

ありがとう

    - (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;
     }


    }

私のスーパービューで

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

1 に答える 1

2

ポップオーバーのビュー コントローラーから情報を渡すために、デリゲートを設定する必要があります。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

基本的に、テーブル ビューのメソッドを格納するビュー コントローラーを作成するときは、デリゲートを指定する必要があります。次に、テーブル ビューでセルが選択されると、必要な情報を含めてデリゲートに呼び出しを送信できます。

于 2011-07-04T23:40:31.727 に答える