小编Ton*_*Law的帖子

设备锁定时后台任务停止?

当设备进入后台时,我有一个计时器正在运行,因为我想检查我服务中的少量数据.我在app delegate中的applicationDidEnterBackground方法中使用以下代码

    UIApplication *app = [UIApplication sharedApplication];

//create new uiBackgroundTask
__block UIBackgroundTaskIdentifier bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
    [app endBackgroundTask:bgTask];
    bgTask = UIBackgroundTaskInvalid;
}];

//and create new timer with async call:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //run function methodRunAfterBackground
    NSString *server = [variableStore sharedGlobalData].server;
    NSLog(@"%@",server);
    if([server isEqual:@"_DEV"]){
        arrivalsTimer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(getArrivals) userInfo:nil repeats:YES];
    }
    else {
        arrivalsTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(getArrivals) userInfo:nil repeats:YES];
    }
    [[NSRunLoop currentRunLoop] addTimer:arrivalsTimer forMode:NSDefaultRunLoopMode];
    [[NSRunLoop currentRunLoop] run];
});
Run Code Online (Sandbox Code Playgroud)

这工作绝对正常,直到设备自动锁定,然后计时器停止滴答.有关如何阻止这种情况发生的任何建议?默认的实时时间是5分钟,因此大多数设备将在此偶数之前锁定一次.

谢谢

nstimer ios appdelegate ios8.3

7
推荐指数
1
解决办法
2552
查看次数

在Swift 3中向UISwitch添加选择器会出现"使用未解析的标识符"错误

我在带有UISwitch的动作表中有一个自定义视图,我想在交换机切换时捕获.交换机显示正常,但是当我使用addTarget来调用该函数时,我得到 - 使用未解析的标识符'deferSwitchToggled'

let deferredFilterToggle: UISwitch = {
    let deferredFilterToggle = UISwitch()
    deferredFilterToggle.translatesAutoresizingMaskIntoConstraints = false
    deferredFilterToggle.addTarget(self, action: #selector(deferSwitchToggled(_:)), for: UIControlEvents.valueChanged)
    return deferredFilterToggle
}()
Run Code Online (Sandbox Code Playgroud)

功能如下.

func deferSwitchToggled(mySwitch: UISwitch) {
    if mySwitch.isOn {
        showDeferred = true
    } else {
        showDeferred = false
    }
}
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

swift3

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

将数据从UITableCell传递到UITabView

我目前正在开发一个项目,需要在UITableView中显示客户列表,相关的单元格然后会切换到TabView以在选项卡式ui中显示详细的客户记录.

我已经使用所需的TableView设置了故事板并且已经填充了.TabViews所有设置我已经向主TabView控制器添加了一个自定义类,它可以获取ID(询问服务和返回更多数据所需)和客户名称.我还为第一个选项卡添加了一个UIViewController,我需要在其中获取ID值.

我似乎无法掌握传递的ID或公司名称.我已经尝试导入UITabView的.h文件.我知道UITabView .h文件正在填充.m文件中的值我使用客户名称更新导航栏的标题.但是,每当我在线上断点获取单个选项卡的.m文件中的ID时,它总是返回nil.

我使用以下代码尝试获取此值:

companyTabController *headerData = [companyTabController alloc];
_companyName_lbl.text = headerData.companyName; 
_companyID_lbl.text = headerData.ID;
Run Code Online (Sandbox Code Playgroud)

我尝试过上述几种变体,但都无济于事.

xcode ios

0
推荐指数
1
解决办法
81
查看次数

标签 统计

ios ×2

appdelegate ×1

ios8.3 ×1

nstimer ×1

swift3 ×1

xcode ×1