如何从另一个视图控制器调用方法

时间:2012-05-17 20:04:06

标签: iphone objective-c ios facebook-graph-api

我想打电话给这个方法:

- (void)getUserFriendTargetDialogRequest {
    currentAPICall = kAPIFriendsForTargetDialogRequests;
    [self apiGraphFriends];
}

来自另一个viewcontroller的条件语句:

if (idx == 2) {
        NSLog(@"you touched menu 2");

        APICallsViewController *apiViewController = [APICallsViewController alloc];
        [self.navigationController pushViewController:apiViewController animated:YES]; 
    }

任何人都可以帮助解决这个问题吗?

非常感谢

3 个答案:

答案 0 :(得分:9)

首先,您可能还希望通过以下方式初始化您的APICallsViewController:

    APICallsViewController *apiViewController = [[APICallsViewController alloc] initWithNibName:nil bundle:nil];

然后,如果getUserFriend ...是APIViewController的方法,你可以这样做:

    [apiViewController getUserFriendTargetDialogRequest];

但是,由于您没有从其他视图控制器传递任何参数,您可以考虑在init方法或APICallsViewController的viewDidLoad方法中调用它。

答案 1 :(得分:4)

OtherViewController *viewController = [[OtherViewController alloc]         
                                           init];
[viewController methodName];
[viewController release];

答案 2 :(得分:3)

1>只需分配方法所在的类,然后通过该类的对象调用它。

ViewControllWithMethod *view=[ViewControllWithMethod  alloc]]init];
[view getUserFriendTargetDialogRequest];

2>您可以将其作为类方法,而不是实例方法,然后您可以通过className.getUserFriendTargetDialogRequest

调用它