小编red*_*nda的帖子

使用UISearchController的segue的不同行为

我一定是在做错事.我有一个UITableView,并实现了一个UISearchController.我有一个Prototype单元格链接到详细信息屏幕,并传递prepareForSegue方法中的选定值.

对于普通视图控制器,所有工作正常,选择一行并按下详细信息屏幕(即从右侧滑入).

但是当使用UISearchController进行主动搜索时,详细信息屏幕将以模态方式显示(即从屏幕底部向上滑动)而不显示UINavigationBar(因此无法"返回")

我没有使用didSelectRowAtIndexPath,因为我使用了故事板来推送细节屏幕

当在每种情况下正确调用"prepareForSegue"中的相同代码时,为什么呈现动画会有所不同:

// MARK: -  Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier! == "PresentContactDetail") {
        // pass person details from selected row
        if let selectedRow = self.tableView.indexPathForSelectedRow()?.row {
            let selectedPerson = self.visibleResults[selectedRow]
            (segue.destinationViewController as ContactDetail).personRecord = selectedPerson
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

任何建议都感激不尽.

uitableview ios segue swift uisearchcontroller

5
推荐指数
1
解决办法
463
查看次数

Android Firebase Messaging:如何从onMessageReceived()更新UI

我已在我的应用中成功实施了Firebase消息传递.在后台工作得很好,当应用程序在前台时,会调用onMessageReceived()(yippee!).

我遇到的问题是我需要动态更新UI,而我仍然坚持实现这一目标的最佳方法.我不想向用户发送应用程序内通知(如示例代码所示),我不确定是否要发送广播,我想要做的就是访问MainActivity以调用方法已经存在,但我没有参考服务中的MainActivity.

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    if (remoteMessage.getNotification().getBody() != null) {
        Log.d(LOG_TAG, "Message received: " + remoteMessage.getNotification().getBody());
    } else {
        Log.d(LOG_TAG, "Message received: " + remoteMessage.getData().get("message"));
    }

    // Call method in MainActivity
    // <<< What goes Here?>>>>

}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个简单的用例,但我无法在网上找到任何帮助.

提前致谢

android android-activity firebase firebase-notifications

3
推荐指数
1
解决办法
4080
查看次数

NSFetchedResultsController 无法识别删除

我有多个核心数据实体,全部同步到服务器。为了测试,我构建了一个函数,它将: 1. 删除所有核心数据实体 2. 调用 API 以刷新所有数据

     // Next delete data in all entities (but not user)
    for entity in CoreDataStack.sharedInstance.allEntities() {
        if (entity != "User") {
            if (DataAccess.deleteExisting(entityName: entity, inMoc: self.operationMOC)) {
                print("Deleted OK: \(entity)")
            } else {
                print("ERROR deleting \(entity)")
            }
        }
    }

    ....

    // Save updates
    self.operationMOC.performAndWait {
        do {
            try self.operationMOC.save()
        } catch {
            fatalError("ERROR: Failed to save operation moc: \(error)")
        }
    }
    self.mainThreadMOC.performAndWait {
        do {
            try self.mainThreadMOC.save()
        } catch {
            fatalError("ERROR: Failed to save …
Run Code Online (Sandbox Code Playgroud)

core-data nsfetchedresultscontroller ios swift

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