相关疑难解决方法(0)

在没有手表应用程序请求的情况下通知WatchKit应用程序更新

我知道手表应用程序打开父应用程序和发送/接收数据的功能WKInterfaceController openParentApplicationhandleWatchKitExtensionRequest方法.

但是如何...在用户使用父应用程序并在父应用程序中执行操作(即更改背景颜色)的实例中,如何立即通知监视应用程序并执行相关操作手表呢?

我相信MMWormhole在这个例子中就足够了,这是我应该采取的最佳方法还是有替代方案?

ios apple-watch watchkit

18
推荐指数
1
解决办法
5670
查看次数

从UITabBarController多次调用NSNotification

我有一个UITabBarController,其中有4个标签。这些标签中的每个标签都是单独的UIViewController。我在这4个VC的每一个上都有一个对象,这些对象使用NSNotification来按某个对象时执行操作。4个VC都以相同的方式响应通知,因为它是每个页面上的相似对象。当按下此对象时,它将在当前视图控制器上显示一个视图。问题是,如果我现在移至其他3个选项卡中的任何一个,则该视图也位于其VC上。这是因为当在任何VC上按下通知时,所有4个选项卡上的通知都会得到响应。我需要它仅响应用户当前使用的VC,而不响应选项卡栏中的其他任何用户。

有没有办法使它正常工作?也许是一个阈值,您可以设置通知在被调用后可以执行其选择器的次数?这样,我可以将其设置为1,并且在任何给定时间(如果该通知被称为选择器)只能被调用1次。

我正在使用的对象实现类型要求我使用NSNotification,因此无法更改交互方式。

编辑:

viewDidLoad方法位于我的选项卡栏中4个VC的顶级VC上。它们全部4个都直接使用它或从中继承。

- (void) viewDidLoad
{
    ...
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didSelectItemFromCollectionView:) name:@"didSelectItemFromCollectionView" object:nil];
}
Run Code Online (Sandbox Code Playgroud)

动作处理程序:

- (void) didSelectItemFromCollectionView:(NSNotification *)notification
{
    NSDictionary *cellData = [notification object];

    if (cellData)
    {
        NewVC *pushToVC = [self.storyboard instantiateViewControllerWithIdentifier:@"PushToVC"];

        [self.navigationController pushViewController:pushToVC animated:YES];
    }
}
Run Code Online (Sandbox Code Playgroud)

4个VC中的每一个都是a,UITableViewController并且具有带有可按下对象的单元格。此NSNotificationCenter操作使操作得以执行。

objective-c uitabbarcontroller nsnotificationcenter ios

2
推荐指数
1
解决办法
2608
查看次数