Xcode15更新内容

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

文章目录

  • 1. xcode15起,项目内创建的图片可以使用点语法访问
  • 2.2. UIKit项目也可以使用预览功能
  • 3. Xcode新增标签功能
  • 4.Log分类

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) {}
}
  • 然后就可以像用 SwiftUI 的预览功能一样了:
struct ViewController_Previews: PreviewProvider {
    static var previews: some View {
        PreviewContainer {
            let controller = LoginViewController()
            return controller
        }
    }
}

请添加图片描述

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

3. Xcode新增标签功能

请添加图片描述

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

请添加图片描述

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

请添加图片描述

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

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

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

4.Log分类

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

请添加图片描述

  • 此时控制台会打印这些信息, 但是你可以很轻松的进行过滤操作
    请添加图片描述
  • 你也可以筛选你的分类类型
    请添加图片描述
  • 你也可以通过单机这个位置,来快速跳转到对应的代码位置
    请添加图片描述
  • 也就是说, 只要你今后的注释非常规范, 你查看日志信息,排查问题的速度将大力提升

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/120911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux C语言(8)

1、指针 1.1 概念 指针就是地址指针是一种数据类型&#xff0c;是一种保存地址的数据类型int是一种数据类型&#xff0c;是一种保存整数的数据类型 1 2 3 4float是一种数据类型&#xff0c;是一种保存浮点数的数据类型 3.14 1.2 什么是地址 内存分配的最小单位是字节&#xf…

【Leetcode】【数据结构】【C语言】判断两个链表是否相交并返回交点地址

struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode *tailAheadA;struct ListNode *tailBheadB;int count10;int count20;//分别找尾节点&#xff0c;并顺便统计节点数量&#xff1a;while(tailA){tailAtailA->next;c…

flutter开发报错The instance member ‘widget‘ can‘t be accessed in an initializer

文章目录 问题描述问题原因解决方法 问题描述 The instance member ‘widget’ can’t be accessed in an initializer. 问题原因 “The instance member ‘widget’ can’t be accessed in an initializer” 错误是因为在初始化器列表中&#xff08;constructor initializer…

Shell 脚本介绍及应用案例

目录 Shell传递参数 $特殊符号含义 示例&#xff1a; Shell运算符 关系运算符 文件运算符 示例&#xff1a; Shell 流程控制 if判断 格式&#xff1a; 示例&#xff1a; 结果&#xff1a; for循环 格式&#xff1a; 示例&#xff1a; 结果&#xff1a; w…

Webpack 中 Plugin 的作用是什么?常用 plugin 有哪些?

说说webpack中常见的Plugin&#xff1f;解决了什么问题&#xff1f;- 题目详情 - 前端面试题宝典 1、plugin 的作用 Plugin 是一种计算机应用程序&#xff0c;它和主应用程序互相交互&#xff0c;以提供特定的功能。 是一种遵循一定规范的应用程序接口编写出来的程序&#…

如何上传自己的Jar到Maven中央仓库

在项目开发过程中&#xff0c;我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中&#xff0c;让其他人可以直接依赖你的 Jar 包&#xff0c;而不需要先下载你的代码后 install 到本地。 注册帐号 点击以…

【MySQL篇】数据库角色

前言 数据库角色是被命名的一组与数据库操作相关的权限&#xff0c;角色是权限的集合。因此&#xff0c;可以为一组具有相同权限的用户创建一个角色&#xff0c;使用角色来管理数据库权限可以简化授权的过程。 CREATE ROLE&#xff1a;创建一个角色 GRANT&#xff1a;给角色授…

进程(3)——进程优先级与环境变量【Linux】

进程&#xff08;3&#xff09;——进程优先级与环境变量【Linux】 一. 进程如何在cpu中如何执行1.1进程在CPU中的特性1.2 寄存器1.2.1 进程的上下文 二. 进程优先级2.1 如何查看进程优先级2.2 修改进程的优先级2.2.1 NI值2.2.2 修改方法 三. 环境变量3.1 什么是环境变量&#…

华为ICT——第六章:深度学习和卷积神经网络/详篇

目录 1&#xff1a;深度学习卷积的重要概念&#xff1a; 2&#xff1a;CNN核心思想——局部感知&#xff1a; CNN核心思想——参数共享&#xff1a; 3&#xff1a;卷积层的功能&#xff1a; 4&#xff1a;不同深度的卷积层提取的特征&#xff1a; 5&#xff1a;卷积效果——…

【公益案例展】火山引擎公益电子票据服务——连接善意,共创美好

‍ 火山引擎公益案例 本项目案例由火山引擎投递并参与数据猿与上海大数据联盟联合推出的 #榜样的力量# 《2023中国数据智能产业最具社会责任感企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 捐赠票据是慈善组织接受捐赠后给捐赠方开具的重要凭证&…

saleae逻辑分析仪在win10上的安装: 驱动安装失败的解决办法

1. 安装 安装64位的&#xff1a;Logic Setup 1.1.16 (64-bit).exe 选择安装目录&#xff1a; 安装其间&#xff0c;如果弹出驱动安装对话框&#xff0c;要选择信任并安装驱动。 安装结束&#xff0c;打开软件&#xff0c;是未连接的状态。 此时打开电脑的设备管理器&#xff…

程序员男盆友给自己做了一款增进感情的小程序

前言 又是无聊的一天&#xff0c;逛GitHub的时候发现一个给女朋友做了一个互动微信小程序&#xff0c;据说女朋友更爱自己了&#xff0c;所以当晚。。。。给自己做了丰盛的晚餐&#xff0c;我当即点开立马开发粘贴复制起来&#xff0c;想到做的小程序可以和未来的女朋友增进感…

基于React开发的chatgpt网页版(仿chatgpt)

在浏览github的时候发现了一个好玩的项目本项目&#xff0c;是github大神Yidadaa开发的chatgpt网页版&#xff0c;该开源项目是跨平台的&#xff0c;Web / PWA / Linux / Win / MacOS都可以访问。非常有意思&#xff0c;本人就部署了一套&#xff0c;喜欢的同学可以体验一番。 …

快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab

Walrus 是一款基于平台工程理念的开源应用管理平台&#xff0c;致力于解决应用交付领域的深切痛点。借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境&#xff0c;并支持任意应用形态统一编排部署&#xff0c;降低使用基础设施的复杂度&#xff0c;为研发和运维团队提供…

干货 | 接口自动化测试分层设计与实践总结

接口测试三要素&#xff1a; 参数构造 发起请求&#xff0c;获取响应 校验结果 一、原始状态 当我们的用例没有进行分层设计的时候&#xff0c;只能算是一个“苗条式”的脚本。以一个后台创建商品活动的场景为例&#xff0c;大概流程是这样的(默认已经是登录状态下)&#…

FMCW雷达论文速览 | TRS 2023, 基于FMCW雷达的多天线高精度测距算法及性能分析

注1:本文系“最新论文速览”系列之一,致力于简洁清晰地介绍、解读最新的顶会/顶刊论文 TRS 2023 | High Accuracy Multi-antenna Ranging Algorithm and Performance Analysis for FMCW Radar 论文原文:https://ieeexplore.ieee.org/document/10309162 Z. Xu, S. Qi and P. Zh…

webgoat-(A1)SQL Injection

SQL Injection (intro) SQL 命令主要分为三类&#xff1a; 数据操作语言 &#xff08;DML&#xff09;DML 语句可用于请求记录 &#xff08;SELECT&#xff09;、添加记录 &#xff08;INSERT&#xff09;、删除记录 &#xff08;DELETE&#xff09; 和修改现有记录 &#xff…

springboot本地启动多个模块报错:Address already in use: JVM_Bind

目录 背景解决方法 背景 环境&#xff1a; jdk1.8 idea 2019.2.4idea本地启动多个模块联调时&#xff0c;提示报错&#xff1a; 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 9090; nested exception is: java.net.BindException: Addre…

SpringBoot系列之集成Redission入门与实践教程

Redisson是一款基于java开发的开源项目&#xff0c;提供了很多企业级实践&#xff0c;比如分布式锁、消息队列、异步执行等功能。本文基于Springboot2版本集成redisson-spring-boot-starter实现redisson的基本应用 软件环境&#xff1a; JDK 1.8 SpringBoot 2.2.1 Maven 3.2…

【算法-链表2】反转链表 和 两两交换链表节点

今天&#xff0c;带来链表相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 反转链表 1. 思路 链表操作的本质是修改连接关系&#xff0c;本题我们需要反转链表&#xff0c;也就是每次都让当前节点的next指向自己的上一个。而题目给的是单链表&#xf…