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

  • 相关阅读:
    Nginx 提示host not found in upstream 错误解决方法
    使用Vmware CLI 6.5控制虚拟机,并做快照
    在 Windows服务器中启用/禁用SMBv1、SMBv2和SMBv3的方法
    使用python调用wps v9转换office文件到pdf
    Tomcat延迟启动
    配置frp
    PowerDesigner逆向生成MYSQL数据库表结构总结
    windows下载安装MariaDB10.2.17 绿色版
    Mosquitto --topic
    Jmeter也能IP欺骗!
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7827932.html
Copyright © 2011-2022 走看看