V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
stephenTian
V2EX  ›  问与答

各位大牛,请教几个 iOS 的问题,希望各位能不吝赐教

  •  
  •   stephenTian · 2021-01-22 12:08:38 +08:00 · 992 次点击
    这是一个创建于 1188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大牛,请教几个 iOS 的问题,希望各位能不吝赐教

    昨天一个社招面试,问了一些偏实践的问题,之前没怎么做过,就被虐了,所以向各位大牛请教一下:

      1. 新闻类 app 中 feed 流 tableView 数据同步怎么解决,比如用户手动删除了其中一条数据,然后网络请求的数据返回了,怎么做到数据同步?

    这是我面完搜到的帖子,各位大牛看一下是这个解决方案不。https://blog.csdn.net/ochenmengo/article/details/104700132/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242

      1. 直接在 main 函数创建一个类 A 的实例,什么时候释放?不释放的话,怎么做到能让实例用完就释放?

    我的回答:

    第一问:要等到 app 进程结束。

    第二问:1. 用 autoReleasePool 包裹,2.创建子线程,在子线程创建并使用。(答完貌似面试官并不满意)

      1. iOS 14.2 对 keyWindow 有什么大的改动?

    这个我没关注过,也不知道他想问什么,搜了一下,也没找到相关的帖子,只找到这个 https://blog.csdn.net/morris_/article/details/109023491,也只是提到了从 ios 13 开始获取 keyWindow 的方式改变了

    ps:最后问网络层和数据链路层是怎么实现的,虽然这是计算机基础知识,但是我面个 iOS 岗,感觉问这个真心有点害怕。

    5 条回复    2021-01-27 14:25:37 +08:00
    StyxS
        1
    StyxS  
       2021-01-22 20:16:06 +08:00
    看了以后感觉自己啥也不会...
    1.网络请求拿到了预处理完把 layout 发回主线程追加,删除在主线程,应该不涉及同步吧
    2.不会
    3.只知道出了多 scene 以后 keywindow 被弃用了,ios14 还.2 又改了啥....
    stephenTian
        2
    stephenTian  
    OP
       2021-01-25 10:19:32 +08:00
    @StyxS
    问题一:贴的链接里,看他的解决方案,面试官应该是希望保留用户操作的结果,即:不论网络请求拉回来什么数据,用户删除 or 点赞的那条数据都应该展示用户操作之后的样子。
    问题二:我只想到了这两个方法,问了几个同事,也没想到其他方案。
    问题三:没找到相关帖子,问了同事,也不知道
    StyxS
        3
    StyxS  
       2021-01-26 09:28:41 +08:00
    StyxS
        4
    StyxS  
       2021-01-26 09:30:20 +08:00
    @stephenTian
    关于问题 1,对于当前列表中的操作,都反应在当前列表对应的 layout 中;而新拉取到的数据,产生的新 layouts 追加到这里面,应该是没有影响的才对?
    stephenTian
        5
    stephenTian  
    OP
       2021-01-27 14:25:37 +08:00
    @StyxS
    下拉刷新会影响
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5252 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:46 · PVG 13:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.