• Xcode15更新内容


    参考博客:
    【WWDC 2023】Xcode 15 更新内容

    1. xcode15起,项目内创建的图片可以使用点语法访问

    请添加图片描述

    请添加图片描述

    2.2. UIKit项目也可以使用预览功能

    • 用到了#Preview这个宏,但这个是ios17的产物, 所以如果老项目需要用这个功能可以先改一下配置为17, 然后就能边写边预览了, 这里要注意的是,直接使用#Preview 预览UIKit的东西目前会有布局不生效的问题,这个目前可能支持没有那么好,但是没有关系, 我们可以包装一层,相当于使用SwiftUI预览, 具体如下
    import SwiftUI
    import UIKit
    
    // 创建一个SwiftUI的容器View,将UIViewControler包含在内
    struct PreviewContainer<T: UIViewController>: UIViewControllerRepresentable {
        let viewController: T
    
        init(_ viewControllerBuilder: @escaping () -> T) {
            viewController = viewControllerBuilder()
        }
    
        // MARK: - UIViewControllerRepresentable
        func makeUIViewController(context: Context) -> T {
            return viewController
        }
    
        func updateUIViewController(_ uiViewController: T, context: Context) {}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 然后就可以像用 SwiftUI 的预览功能一样了:
    struct ViewController_Previews: PreviewProvider {
        static var previews: some View {
            PreviewContainer {
                let controller = LoginViewController()
                return controller
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    请添加图片描述

    这就香了, 不用跑起来看效果。懂的都懂

    3. Xcode新增标签功能

    请添加图片描述

    • 在这位置有一个标签, 你可以将你经常可能会用来调试或者重要的代码添加到书签
    • 然后你找起来就很爽歪歪拉
    • 具体就是 右键代码块

    请添加图片描述

    • 添加成功后, 无论你在任何文件位置, 点击直接跳转到这个代码的位置

    请添加图片描述

    • 可以对资源文件,代码都是可以添加bookMark的
    • 然后右键编辑,改个说明就好了

    请添加图片描述
    请添加图片描述

    • 这个标签会跟随git上传到仓库,如果你不想你自己的标签记录上传到git, 在.gitignore自己设置一下忽略就好了

    4.Log分类

    • 你是不是为打印台乱七八糟的打印信息感到烦恼? 它干扰你想查看当前的重要的打印信息,现在你不用担心了。 因为《Log有分类了》

    请添加图片描述

    • 此时控制台会打印这些信息, 但是你可以很轻松的进行过滤操作
      请添加图片描述
    • 你也可以筛选你的分类类型
      请添加图片描述
    • 你也可以通过单机这个位置,来快速跳转到对应的代码位置
      请添加图片描述
    • 也就是说, 只要你今后的注释非常规范, 你查看日志信息,排查问题的速度将大力提升
  • 相关阅读:
    LIN休眠唤醒及测试心得
    【c++百日刷题计划】 ———— DAY18,刷题百天,养成刷题好习惯
    HarmonyOS系统中内核实现MQTT协议开发的方法
    mini_batch学习
    单元测试,集成测试,系统测试的区别是什么?
    正则表达式
    ubuntu 20.04 Kimera semantic 运行记录
    南大通用GBase8s 常用SQL语句(290)
    MySQL的索引原理
    iOS基础介绍(一)
  • 原文地址:https://blog.csdn.net/baidu_40537062/article/details/134271520