前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xcode15新特性

Xcode15新特性

作者头像
YungFan
发布2023-07-09 14:56:09
1.4K0
发布2023-07-09 14:56:09
举报
文章被收录于专栏:学海无涯学海无涯

在 2023 年 6 月 6 日的 WWDC 23 上 Apple 推出了 Xcode 15,相比较 Xcode 14,它有如下变化。

项目

  • 安装包的大小继续减小,安装速度继续提升,因为 iOS 的 Components 也需要动态下载安装,否则提示iOS 17.0 Not Install,平台不同提示略有不同。
  • 主界面的菜单图标与名称发生变化。

主界面.png

  • 创建 iOS 项目时,增加了Storage选项,不再有Use Core Data选项。

创建项目

  • 导航区的第三个菜单 Symbol navigator 替换为 Bookmark navigator

导航区

  • 调试区的菜单发生变化,并且输出的内容随着不同的级别拥有不同的背景色。

调试区

  • Archive 时的 Distribute App 界面发生变化。

Archive.png

功能

  • Assets 中的创建的Image SetColor Set可以生成类型安全的标识符,在程序中可以.标识符的形式访问。
代码语言:javascript
复制
// UIKit
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        UIColor(resource: .colorSet)
        UIImage(resource: .imageSet)
    }
}

// SwiftUI
import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Color(.colorSet) // Color Set
            
            Image(.imageSet) // Image Set,只是新建不行,还必须有图片
        }
        .padding()
    }
}
  • UIKit 与 AppKit 可以通过如下的宏(macro)实现 SwiftUI 一样进行实时预览。
代码语言:javascript
复制
// UIKit
public macro Preview(_ name: String? = nil,
                     traits: PreviewTrait<Preview.ViewTraits>...,
                     body: @escaping () -> UIView) -> () = #externalMacro(module: "PreviewsMacros", type: "Common")
public macro Preview(_ name: String? = nil,
                     traits: PreviewTrait<Preview.ViewTraits>...,
                     body: @escaping () -> UIViewController) -> () = #externalMacro(module: "PreviewsMacros", type: "Common")
                     
// 使用
#Preview {
    UIKit 预览内容
}

// AppKit
public macro Preview(_ name: String? = nil,
                     traits: PreviewTrait<Preview.ViewTraits>...,
                     body: @escaping () -> NSView) -> () = #externalMacro(module: "PreviewsMacros", type: "Common")
public macro Preview(_ name: String? = nil,
                     traits: PreviewTrait<Preview.ViewTraits>...,
                     body: @escaping () -> NSViewController) -> () = #externalMacro(module: "PreviewsMacros", type: "Common")

// 使用
#Preview {
    AppKit 预览内容
}
  • 增加 Documentation Preview,文档也支持预览。

image.png

  • 代码支持添加 Bookmark,在某一行代码或者选中多行代码后右击,可以看到相应的添加菜单。可以在 Bookmark navigator 中查看添加的所有 Bookmark。
  • 条件编译代码随着选择的条件会高亮显示对应条件的编译代码。
  • 右击菜单 Show Quick Help 显示更加丰富的文档内容。
  • 编辑时 Quick Actions 可以快捷访问对应内容的所有菜单,快捷键command + shift + A
  • 遇到多参数的方法时,可以通过键盘方向键 —> 显示所有可能的参数组合。
  • 写完多参数的方法后,可以通过右击 Refactor —> Format to Multipl Lines进行格式化。

截止到 Beta1,未完待续...

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能
  • 截止到 Beta1,未完待续...
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档