zoukankan      html  css  js  c++  java
  • Today Extension

    // 主APP,增删改数据,保存到NSUserDefaults    

    NSUInteger numberOfItemsSnapshot = MIN(self.mutArray.count, 4);

        NSArray<NSString *> *snapshot = [self.mutArray subarrayWithRange:NSMakeRange(self.mutArray.count - numberOfItemsSnapshot, numberOfItemsSnapshot)];

        NSUserDefaults *groupDefault = [[NSUserDefaults allocinitWithSuiteName:@"group.com.dcj.DCJExtension"];

        [groupDefault setObject:snapshot forKey:@"TodaySnapshot"];

     

    // APP Extension,当用户查看时,加载数据,创建UI

    - (void)loadContents

    {

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

            NSUserDefaults *groupDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.dcj.DCJExtension"];

            self.contentArray = [groupDefaults objectForKey:@"TodaySnapshot"];

            dispatch_async(dispatch_get_main_queue(), ^{

                if (self.contentArray.count == 0) {

                    [self showEmptyPlaceholder];

                }else

                {

                    self.bTianJia.hidden = YES;

                    self.tableView.hidden = NO;

                    self.preferredContentSize = CGSizeMake(0, self.contentArray.count * 44 -1);

                    [self.tableView reloadData];

                    

                }

            });

        });

    }

     

    // 在Extension,打开容器APP

    [self.extensionContext openURL:[NSURL URLWithString:@"DCJExtension://new_item"] completionHandler:nil];

    // 需要在容器APP的info里,做如下配置

    // 从Extension,直接到主程序,完成一些事。容器APP在此方法中,响应外部APP或者Extension的打开。

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options

    {

        if ([url.relativeString hasPrefix:@"DCJExtension://new_item"]) {

            [[NSNotificationCenter defaultCenter] postNotificationName:kRequestNewItemNote object:nil];

        }

        return YES;

    }

     

    参考http://www.jianshu.com/p/bbc6a95d9c54

    http://www.cocoachina.com/ios/20170706/19749.html

  • 相关阅读:
    Redis 如何设置密码及验证密码?
    怎么测试 Redis 的连通性?
    Redis 的内存用完了会发生什么?
    假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以 某个固定的已知的前缀开头的,如果将它们全部找出来?
    使用过 Redis 做异步队列么,你是怎么用的?
    简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 ?
    你怎么看到为表格定义的所有索引?
    深入理解卷积网络的卷积
    OpenCV-Python 图像阈值 | 十五
    OpenCV-Python 图像的几何变换 | 十四
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7827932.html
Copyright © 2011-2022 走看看