在多个UIViewController变量

时间:2016-05-13 02:12:42

标签: ios objective-c uiviewcontroller objective-c-blocks

我有一个在我的一个班级上调用的块:

__weak BContactsViewController * weakSelf = self;

_searchViewController.usersSelected = ^(NSArray * users) {
    // Do something
};

我现在正在创建另一个包含不同功能的UIViewController(从社交媒体搜索添加用户),但也返回要添加到应用程序的用户。

虽然我可以为我的第二个vc重复这个代码,但如果我增加了vc的数量,这个解决方案将无法很好地扩展。出于这个原因,我试图使用以下代码:

UIViewController * vc = type == bSearchTypeNameSearch ? _searchViewController : _customSearchViewController;

__weak UIViewController * weakSelf = self;

vc.userSelected = ^(NSArray * users) {

    // Do something 
};

两个视图控制器都会在其中包含块代码,因此可以返回并调用我想要的代码。

此代码虽然会产生错误:

Property 'userSelected' not found on object type 'UIViewController'

我不知道这样的事情是否可行。我搜索过谷歌和Stackoverflow,但很难清楚地表达这个问题,似乎很少有这样的细节。

0 个答案:

没有答案