diff --git a/SwiftPamphletApp.xcodeproj/project.pbxproj b/SwiftPamphletApp.xcodeproj/project.pbxproj index db92e5418..9d1dab397 100644 --- a/SwiftPamphletApp.xcodeproj/project.pbxproj +++ b/SwiftPamphletApp.xcodeproj/project.pbxproj @@ -210,6 +210,227 @@ 08EF35D12BECFDA80098E2D4 /* BookmarkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkModel.swift; sourceTree = ""; }; 08F14B432BBE2865005B46CC /* ViewComponentImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewComponentImage.swift; sourceTree = ""; }; 08F51BC427A374A500693AB6 /* footer_js.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = footer_js.html; sourceTree = ""; }; + 08FC85222C6AEB7B0083C91F /* Keychain(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Keychain(ap).md"; sourceTree = ""; }; + 08FC85242C6AEB7B0083C91F /* 布局动画(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局动画(ap).md"; sourceTree = ""; }; + 08FC85252C6AEB7B0083C91F /* 动画-例子(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "动画-例子(ap).md"; sourceTree = ""; }; + 08FC85262C6AEB7B0083C91F /* animation修饰符(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "animation修饰符(ap).md"; sourceTree = ""; }; + 08FC85272C6AEB7B0083C91F /* contentTransition(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "contentTransition(ap).md"; sourceTree = ""; }; + 08FC85282C6AEB7B0083C91F /* KeyframeAnimator(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "KeyframeAnimator(ap).md"; sourceTree = ""; }; + 08FC85292C6AEB7B0083C91F /* Matched Geometry Effect(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Matched Geometry Effect(ap).md"; sourceTree = ""; }; + 08FC852A2C6AEB7B0083C91F /* PhaseAnimator(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "PhaseAnimator(ap).md"; sourceTree = ""; }; + 08FC852B2C6AEB7B0083C91F /* SwiftUI动画(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI动画(ap).md"; sourceTree = ""; }; + 08FC852C2C6AEB7B0083C91F /* Transaction(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Transaction(ap).md"; sourceTree = ""; }; + 08FC852E2C6AEB7B0083C91F /* Combine的资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine的资料(ap).md"; sourceTree = ""; }; + 08FC852F2C6AEB7B0083C91F /* Combine是什么(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine是什么(ap).md"; sourceTree = ""; }; + 08FC85312C6AEB7B0083C91F /* Combine KVO(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine KVO(ap).md"; sourceTree = ""; }; + 08FC85322C6AEB7B0083C91F /* Combine Timer(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine Timer(ap).md"; sourceTree = ""; }; + 08FC85332C6AEB7B0083C91F /* Combine通知(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine通知(ap).md"; sourceTree = ""; }; + 08FC85342C6AEB7B0083C91F /* Combine网络请求(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Combine网络请求(ap).md"; sourceTree = ""; }; + 08FC85362C6AEB7B0083C91F /* append(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "append(ap).md"; sourceTree = ""; }; + 08FC85372C6AEB7B0083C91F /* combineLatest(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "combineLatest(ap).md"; sourceTree = ""; }; + 08FC85382C6AEB7B0083C91F /* CurrentValueSubject(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "CurrentValueSubject(ap).md"; sourceTree = ""; }; + 08FC85392C6AEB7B0083C91F /* Empty(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Empty(ap).md"; sourceTree = ""; }; + 08FC853A2C6AEB7B0083C91F /* flatMap(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "flatMap(ap).md"; sourceTree = ""; }; + 08FC853B2C6AEB7B0083C91F /* Just(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Just(ap).md"; sourceTree = ""; }; + 08FC853C2C6AEB7B0083C91F /* merge(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "merge(ap).md"; sourceTree = ""; }; + 08FC853D2C6AEB7B0083C91F /* PassthroughSubject(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "PassthroughSubject(ap).md"; sourceTree = ""; }; + 08FC853E2C6AEB7B0083C91F /* prepend(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "prepend(ap).md"; sourceTree = ""; }; + 08FC853F2C6AEB7B0083C91F /* publisher(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "publisher(ap).md"; sourceTree = ""; }; + 08FC85402C6AEB7B0083C91F /* removeDuplicates(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "removeDuplicates(ap).md"; sourceTree = ""; }; + 08FC85412C6AEB7B0083C91F /* Scheduler(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Scheduler(ap).md"; sourceTree = ""; }; + 08FC85422C6AEB7B0083C91F /* zip(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "zip(ap).md"; sourceTree = ""; }; + 08FC85452C6AEB7B0083C91F /* 结构化并发(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "结构化并发(ap).md"; sourceTree = ""; }; + 08FC85462C6AEB7B0083C91F /* Actors(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Actors(ap).md"; sourceTree = ""; }; + 08FC85472C6AEB7B0083C91F /* async await(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "async await(ap).md"; sourceTree = ""; }; + 08FC85482C6AEB7B0083C91F /* Async Sequences(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Async Sequences(ap).md"; sourceTree = ""; }; + 08FC85492C6AEB7B0083C91F /* Concurrency技术演进(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Concurrency技术演进(ap).md"; sourceTree = ""; }; + 08FC854A2C6AEB7B0083C91F /* Distributed Actors(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Distributed Actors(ap).md"; sourceTree = ""; }; + 08FC854B2C6AEB7B0083C91F /* Swift Concurrency和Combine(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Swift Concurrency和Combine(ap).md"; sourceTree = ""; }; + 08FC854C2C6AEB7B0083C91F /* Swift Concurrency是什么(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Swift Concurrency是什么(ap).md"; sourceTree = ""; }; + 08FC854D2C6AEB7B0083C91F /* Swift Concurrency相关提案(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Swift Concurrency相关提案(ap).md"; sourceTree = ""; }; + 08FC854E2C6AEB7B0083C91F /* Swift Concurrency学习路径(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Swift Concurrency学习路径(ap).md"; sourceTree = ""; }; + 08FC85512C6AEB7B0083C91F /* 程序入口点(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "程序入口点(ap).md"; sourceTree = ""; }; + 08FC85522C6AEB7B0083C91F /* 单例(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "单例(ap).md"; sourceTree = ""; }; + 08FC85542C6AEB7B0083C91F /* 格式化-度量值(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "格式化-度量值(ap).md"; sourceTree = ""; }; + 08FC85552C6AEB7B0083C91F /* 格式化-生活日常(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "格式化-生活日常(ap).md"; sourceTree = ""; }; + 08FC85562C6AEB7B0083C91F /* 格式化-时间(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "格式化-时间(ap).md"; sourceTree = ""; }; + 08FC85572C6AEB7B0083C91F /* 格式化-数据(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "格式化-数据(ap).md"; sourceTree = ""; }; + 08FC85592C6AEB7B0083C91F /* 版本兼容(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "版本兼容(ap).md"; sourceTree = ""; }; + 08FC855A2C6AEB7B0083C91F /* 系统判断(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "系统判断(ap).md"; sourceTree = ""; }; + 08FC855B2C6AEB7B0083C91F /* canImport判断库是否可使用(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "canImport判断库是否可使用(ap).md"; sourceTree = ""; }; + 08FC855C2C6AEB7B0083C91F /* targetEnvironment环境的判断(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "targetEnvironment环境的判断(ap).md"; sourceTree = ""; }; + 08FC855E2C6AEB7B0083C91F /* @dynamicCallable动态可调用类型(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "@dynamicCallable动态可调用类型(ap).md"; sourceTree = ""; }; + 08FC855F2C6AEB7B0083C91F /* @dynamicMemberLookup动态成员查询(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "@dynamicMemberLookup动态成员查询(ap).md"; sourceTree = ""; }; + 08FC85602C6AEB7B0083C91F /* @resultBuilder(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "@resultBuilder(ap).md"; sourceTree = ""; }; + 08FC85622C6AEB7B0083C91F /* Hashable(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Hashable(ap).md"; sourceTree = ""; }; + 08FC85632C6AEB7B0083C91F /* JSON没有id字段(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "JSON没有id字段(ap).md"; sourceTree = ""; }; + 08FC85652C6AEB7B0083C91F /* 度量值(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "度量值(ap).md"; sourceTree = ""; }; + 08FC85662C6AEB7B0083C91F /* 格式化(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "格式化(ap).md"; sourceTree = ""; }; + 08FC85672C6AEB7B0083C91F /* 时间(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "时间(ap).md"; sourceTree = ""; }; + 08FC85682C6AEB7B0083C91F /* 随机(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "随机(ap).md"; sourceTree = ""; }; + 08FC85692C6AEB7B0083C91F /* 文件(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "文件(ap).md"; sourceTree = ""; }; + 08FC856A2C6AEB7B0083C91F /* AttributeString(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "AttributeString(ap).md"; sourceTree = ""; }; + 08FC856B2C6AEB7B0083C91F /* Data(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Data(ap).md"; sourceTree = ""; }; + 08FC856C2C6AEB7B0083C91F /* Scanner(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Scanner(ap).md"; sourceTree = ""; }; + 08FC856D2C6AEB7B0083C91F /* UserDefaults(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "UserDefaults(ap).md"; sourceTree = ""; }; + 08FC856F2C6AEB7B0083C91F /* SQLite.swift的使用(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SQLite.swift的使用(ap).md"; sourceTree = ""; }; + 08FC85712C6AEB7B0083C91F /* 网络状态检查(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "网络状态检查(ap).md"; sourceTree = ""; }; + 08FC85732C6AEB7B0083C91F /* AppIcon(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "AppIcon(ap).md"; sourceTree = ""; }; + 08FC85742C6AEB7B0083C91F /* Swift-DocC(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Swift-DocC(ap).md"; sourceTree = ""; }; + 08FC85762C6AEB7B0083C91F /* 获取小组件形状(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "获取小组件形状(ap).md"; sourceTree = ""; }; + 08FC85772C6AEB7B0083C91F /* 刷新小组件(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "刷新小组件(ap).md"; sourceTree = ""; }; + 08FC85782C6AEB7B0083C91F /* 小组件-参考资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-参考资料(ap).md"; sourceTree = ""; }; + 08FC85792C6AEB7B0083C91F /* 小组件-获取位置权限更新内容(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-获取位置权限更新内容(ap).md"; sourceTree = ""; }; + 08FC857A2C6AEB7B0083C91F /* 小组件-配置选项(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-配置选项(ap).md"; sourceTree = ""; }; + 08FC857B2C6AEB7B0083C91F /* 小组件-远程定时获取数据(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-远程定时获取数据(ap).md"; sourceTree = ""; }; + 08FC857C2C6AEB7B0083C91F /* 小组件-AppIntentConfiguration(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-AppIntentConfiguration(ap).md"; sourceTree = ""; }; + 08FC857D2C6AEB7B0083C91F /* 小组件-Deep link(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-Deep link(ap).md"; sourceTree = ""; }; + 08FC857E2C6AEB7B0083C91F /* 小组件-StaticConfiguration(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件-StaticConfiguration(ap).md"; sourceTree = ""; }; + 08FC857F2C6AEB7B0083C91F /* 小组件动画(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件动画(ap).md"; sourceTree = ""; }; + 08FC85802C6AEB7B0083C91F /* 小组件访问SwiftData(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件访问SwiftData(ap).md"; sourceTree = ""; }; + 08FC85812C6AEB7B0083C91F /* 支持多个小组件(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "支持多个小组件(ap).md"; sourceTree = ""; }; + 08FC85822C6AEB7B0083C91F /* AppIntentTimelineProvider(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "AppIntentTimelineProvider(ap).md"; sourceTree = ""; }; + 08FC85832C6AEB7B0083C91F /* Widget View(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Widget View(ap).md"; sourceTree = ""; }; + 08FC85852C6AEB7B0083C91F /* 调试(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "调试(ap).md"; sourceTree = ""; }; + 08FC85862C6AEB7B0083C91F /* 链接器(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "链接器(ap).md"; sourceTree = ""; }; + 08FC85872C6AEB7B0083C91F /* 内存管理(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "内存管理(ap).md"; sourceTree = ""; }; + 08FC85882C6AEB7B0083C91F /* 性能技术演进(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "性能技术演进(ap).md"; sourceTree = ""; }; + 08FC858A2C6AEB7B0083C91F /* 全屏模式(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "全屏模式(ap).md"; sourceTree = ""; }; + 08FC858B2C6AEB7B0083C91F /* 三栏结构(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "三栏结构(ap).md"; sourceTree = ""; }; + 08FC858C2C6AEB7B0083C91F /* macOS范例(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "macOS范例(ap).md"; sourceTree = ""; }; + 08FC858D2C6AEB7B0083C91F /* macOS共享菜单(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "macOS共享菜单(ap).md"; sourceTree = ""; }; + 08FC858E2C6AEB7B0083C91F /* macOS技术演进(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "macOS技术演进(ap).md"; sourceTree = ""; }; + 08FC858F2C6AEB7B0083C91F /* macOS剪贴板(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "macOS剪贴板(ap).md"; sourceTree = ""; }; + 08FC85912C6AEB7B0083C91F /* 创建@Model模型(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "创建@Model模型(ap).md"; sourceTree = ""; }; + 08FC85922C6AEB7B0083C91F /* 容器配置modelContainer(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "容器配置modelContainer(ap).md"; sourceTree = ""; }; + 08FC85932C6AEB7B0083C91F /* 增删modelContext(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "增删modelContext(ap).md"; sourceTree = ""; }; + 08FC85942C6AEB7B0083C91F /* SwiftData-版本迁移(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-版本迁移(ap).md"; sourceTree = ""; }; + 08FC85952C6AEB7B0083C91F /* SwiftData-处理大量数据(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-处理大量数据(ap).md"; sourceTree = ""; }; + 08FC85962C6AEB7B0083C91F /* SwiftData-调试(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-调试(ap).md"; sourceTree = ""; }; + 08FC85972C6AEB7B0083C91F /* SwiftData-检索(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-检索(ap).md"; sourceTree = ""; }; + 08FC85982C6AEB7B0083C91F /* SwiftData-模型关系(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-模型关系(ap).md"; sourceTree = ""; }; + 08FC85992C6AEB7B0083C91F /* SwiftData-资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData-资料(ap).md"; sourceTree = ""; }; + 08FC859A2C6AEB7B0083C91F /* SwiftData多线程(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftData多线程(ap).md"; sourceTree = ""; }; + 08FC859C2C6AEB7B0083C91F /* 文字Picker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "文字Picker(ap).md"; sourceTree = ""; }; + 08FC859D2C6AEB7B0083C91F /* 字体Picker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "字体Picker(ap).md"; sourceTree = ""; }; + 08FC859E2C6AEB7B0083C91F /* ColorPicker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ColorPicker(ap).md"; sourceTree = ""; }; + 08FC859F2C6AEB7B0083C91F /* DatePicker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "DatePicker(ap).md"; sourceTree = ""; }; + 08FC85A02C6AEB7B0083C91F /* PhotoPicker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "PhotoPicker(ap).md"; sourceTree = ""; }; + 08FC85A12C6AEB7B0083C91F /* Picker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Picker(ap).md"; sourceTree = ""; }; + 08FC85A22C6AEB7B0083C91F /* WheelPicker(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "WheelPicker(ap).md"; sourceTree = ""; }; + 08FC85A42C6AEB7B0083C91F /* Form(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Form(ap).md"; sourceTree = ""; }; + 08FC85A52C6AEB7B0083C91F /* Slider(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Slider(ap).md"; sourceTree = ""; }; + 08FC85A62C6AEB7B0083C91F /* Stepper(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Stepper(ap).md"; sourceTree = ""; }; + 08FC85A72C6AEB7B0083C91F /* Toggle(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Toggle(ap).md"; sourceTree = ""; }; + 08FC85A92C6AEB7B0083C91F /* 布局-对齐(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局-对齐(ap).md"; sourceTree = ""; }; + 08FC85AA2C6AEB7B0083C91F /* 布局-基础(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局-基础(ap).md"; sourceTree = ""; }; + 08FC85AB2C6AEB7B0083C91F /* 布局-居中(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局-居中(ap).md"; sourceTree = ""; }; + 08FC85AC2C6AEB7B0083C91F /* 布局-留白(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局-留白(ap).md"; sourceTree = ""; }; + 08FC85AD2C6AEB7B0083C91F /* 布局-offset偏移(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局-offset偏移(ap).md"; sourceTree = ""; }; + 08FC85AE2C6AEB7B0083C91F /* 布局原理(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局原理(ap).md"; sourceTree = ""; }; + 08FC85AF2C6AEB7B0083C91F /* Safe Area(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Safe Area(ap).md"; sourceTree = ""; }; + 08FC85B12C6AEB7B0083C91F /* 布局进阶-参考资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "布局进阶-参考资料(ap).md"; sourceTree = ""; }; + 08FC85B22C6AEB7B0083C91F /* alignmentGuide(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "alignmentGuide(ap).md"; sourceTree = ""; }; + 08FC85B32C6AEB7B0083C91F /* AnyLayout(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "AnyLayout(ap).md"; sourceTree = ""; }; + 08FC85B42C6AEB7B0083C91F /* GeometryReader(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "GeometryReader(ap).md"; sourceTree = ""; }; + 08FC85B52C6AEB7B0083C91F /* Layout协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Layout协议(ap).md"; sourceTree = ""; }; + 08FC85B62C6AEB7B0083C91F /* ViewThatFits(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ViewThatFits(ap).md"; sourceTree = ""; }; + 08FC85B82C6AEB7B0083C91F /* 导航状态保存和还原(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "导航状态保存和还原(ap).md"; sourceTree = ""; }; + 08FC85B92C6AEB7B0083C91F /* 自定义导航栏(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "自定义导航栏(ap).md"; sourceTree = ""; }; + 08FC85BA2C6AEB7B0083C91F /* Inspectors右侧多出一栏(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Inspectors右侧多出一栏(ap).md"; sourceTree = ""; }; + 08FC85BB2C6AEB7B0083C91F /* Navigation(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Navigation(ap).md"; sourceTree = ""; }; + 08FC85BC2C6AEB7B0083C91F /* NavigationPath(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "NavigationPath(ap).md"; sourceTree = ""; }; + 08FC85BD2C6AEB7B0083C91F /* NavigationSplitView(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "NavigationSplitView(ap).md"; sourceTree = ""; }; + 08FC85BE2C6AEB7B0083C91F /* NavigationStack(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "NavigationStack(ap).md"; sourceTree = ""; }; + 08FC85C02C6AEB7B0083C91F /* Advanced layout control(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Advanced layout control(ap).md"; sourceTree = ""; }; + 08FC85C12C6AEB7B0083C91F /* ContentUnavailableView(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ContentUnavailableView(ap).md"; sourceTree = ""; }; + 08FC85C22C6AEB7B0083C91F /* ControlGroup(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ControlGroup(ap).md"; sourceTree = ""; }; + 08FC85C32C6AEB7B0083C91F /* GroupBox(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "GroupBox(ap).md"; sourceTree = ""; }; + 08FC85C42C6AEB7B0083C91F /* Stack(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Stack(ap).md"; sourceTree = ""; }; + 08FC85C52C6AEB7B0083C91F /* TabView(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TabView(ap).md"; sourceTree = ""; }; + 08FC85C72C6AEB7B0083C91F /* 浮层(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "浮层(ap).md"; sourceTree = ""; }; + 08FC85C82C6AEB7B0083C91F /* Alert(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Alert(ap).md"; sourceTree = ""; }; + 08FC85C92C6AEB7B0083C91F /* confirmationDialog()(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "confirmationDialog()(ap).md"; sourceTree = ""; }; + 08FC85CA2C6AEB7B0083C91F /* Full Screen Modal View(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Full Screen Modal View(ap).md"; sourceTree = ""; }; + 08FC85CB2C6AEB7B0083C91F /* HUD(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "HUD(ap).md"; sourceTree = ""; }; + 08FC85CC2C6AEB7B0083C91F /* Menu和ContextMenu(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Menu和ContextMenu(ap).md"; sourceTree = ""; }; + 08FC85CD2C6AEB7B0083C91F /* Popover(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Popover(ap).md"; sourceTree = ""; }; + 08FC85CE2C6AEB7B0083C91F /* Sheet(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Sheet(ap).md"; sourceTree = ""; }; + 08FC85D02C6AEB7B0083C91F /* SwiftUI参考资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI参考资料(ap).md"; sourceTree = ""; }; + 08FC85D12C6AEB7B0083C91F /* SwiftUI对标的UIKit视图(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI对标的UIKit视图(ap).md"; sourceTree = ""; }; + 08FC85D22C6AEB7B0083C91F /* SwiftUI是什么(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI是什么(ap).md"; sourceTree = ""; }; + 08FC85D42C6AEB7B0083C91F /* Blend Modes(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Blend Modes(ap).md"; sourceTree = ""; }; + 08FC85D52C6AEB7B0083C91F /* SF Symbol(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SF Symbol(ap).md"; sourceTree = ""; }; + 08FC85D62C6AEB7B0083C91F /* Shaders Metal(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Shaders Metal(ap).md"; sourceTree = ""; }; + 08FC85D72C6AEB7B0083C91F /* SwiftCharts(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftCharts(ap).md"; sourceTree = ""; }; + 08FC85D82C6AEB7B0083C91F /* SwiftUI Canvas(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI Canvas(ap).md"; sourceTree = ""; }; + 08FC85D92C6AEB7B0083C91F /* SwiftUI Effect(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI Effect(ap).md"; sourceTree = ""; }; + 08FC85DA2C6AEB7B0083C91F /* SwiftUI-背景材质(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI-背景材质(ap).md"; sourceTree = ""; }; + 08FC85DB2C6AEB7B0083C91F /* SwiftUI-渐变(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI-渐变(ap).md"; sourceTree = ""; }; + 08FC85DC2C6AEB7B0083C91F /* SwiftUI-模糊(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI-模糊(ap).md"; sourceTree = ""; }; + 08FC85DD2C6AEB7B0083C91F /* SwiftUI-Shadow(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI-Shadow(ap).md"; sourceTree = ""; }; + 08FC85DE2C6AEB7B0083C91F /* SwiftUI颜色(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI颜色(ap).md"; sourceTree = ""; }; + 08FC85E02C6AEB7B0083C91F /* 视图协议-核心协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "视图协议-核心协议(ap).md"; sourceTree = ""; }; + 08FC85E12C6AEB7B0083C91F /* 视图协议-简介(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "视图协议-简介(ap).md"; sourceTree = ""; }; + 08FC85E22C6AEB7B0083C91F /* 视图协议-Environment(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "视图协议-Environment(ap).md"; sourceTree = ""; }; + 08FC85E32C6AEB7B0083C91F /* 特定情况视图协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "特定情况视图协议(ap).md"; sourceTree = ""; }; + 08FC85E42C6AEB7B0083C91F /* 小组件协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "小组件协议(ap).md"; sourceTree = ""; }; + 08FC85E52C6AEB7B0083C91F /* Animations协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Animations协议(ap).md"; sourceTree = ""; }; + 08FC85E62C6AEB7B0083C91F /* Documents协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Documents协议(ap).md"; sourceTree = ""; }; + 08FC85E72C6AEB7B0083C91F /* Legacy bridges协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Legacy bridges协议(ap).md"; sourceTree = ""; }; + 08FC85E82C6AEB7B0083C91F /* Previews协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Previews协议(ap).md"; sourceTree = ""; }; + 08FC85E92C6AEB7B0083C91F /* Responder chain协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Responder chain协议(ap).md"; sourceTree = ""; }; + 08FC85EA2C6AEB7B0083C91F /* Shapes协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Shapes协议(ap).md"; sourceTree = ""; }; + 08FC85EB2C6AEB7B0083C91F /* Style协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Style协议(ap).md"; sourceTree = ""; }; + 08FC85EC2C6AEB7B0083C91F /* Toolbar协议(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Toolbar协议(ap).md"; sourceTree = ""; }; + 08FC85EE2C6AEB7B0083C91F /* 进度(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "进度(ap).md"; sourceTree = ""; }; + 08FC85EF2C6AEB7B0083C91F /* Button(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Button(ap).md"; sourceTree = ""; }; + 08FC85F02C6AEB7B0083C91F /* Keyboard(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Keyboard(ap).md"; sourceTree = ""; }; + 08FC85F12C6AEB7B0083C91F /* ShareLink(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ShareLink(ap).md"; sourceTree = ""; }; + 08FC85F22C6AEB7B0083C91F /* Transferable(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Transferable(ap).md"; sourceTree = ""; }; + 08FC85F42C6AEB7B0083C91F /* LazyVGrid和LazyHGrid(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "LazyVGrid和LazyHGrid(ap).md"; sourceTree = ""; }; + 08FC85F52C6AEB7B0083C91F /* LazyVStack和LazyHStack(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "LazyVStack和LazyHStack(ap).md"; sourceTree = ""; }; + 08FC85F72C6AEB7B0083C91F /* List-大纲视图(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-大纲视图(ap).md"; sourceTree = ""; }; + 08FC85F82C6AEB7B0083C91F /* List-加载更多(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-加载更多(ap).md"; sourceTree = ""; }; + 08FC85F92C6AEB7B0083C91F /* List-轻扫操作(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-轻扫操作(ap).md"; sourceTree = ""; }; + 08FC85FA2C6AEB7B0083C91F /* List-设置样式(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-设置样式(ap).md"; sourceTree = ""; }; + 08FC85FB2C6AEB7B0083C91F /* List-搜索(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-搜索(ap).md"; sourceTree = ""; }; + 08FC85FC2C6AEB7B0083C91F /* List-索引标题(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-索引标题(ap).md"; sourceTree = ""; }; + 08FC85FD2C6AEB7B0083C91F /* List-完全可点击的行(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-完全可点击的行(ap).md"; sourceTree = ""; }; + 08FC85FE2C6AEB7B0083C91F /* List-下拉刷新(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-下拉刷新(ap).md"; sourceTree = ""; }; + 08FC85FF2C6AEB7B0083C91F /* List-移动元素(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List-移动元素(ap).md"; sourceTree = ""; }; + 08FC86002C6AEB7B0083C91F /* List(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "List(ap).md"; sourceTree = ""; }; + 08FC86022C6AEB7B0083C91F /* 固定到滚动视图的顶部(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "固定到滚动视图的顶部(ap).md"; sourceTree = ""; }; + 08FC86032C6AEB7B0083C91F /* 滚动到特定的位置(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "滚动到特定的位置(ap).md"; sourceTree = ""; }; + 08FC86042C6AEB7B0083C91F /* scrollTargetBehavior分页滚动(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "scrollTargetBehavior分页滚动(ap).md"; sourceTree = ""; }; + 08FC86052C6AEB7B0083C91F /* scrollTransition视觉效果(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "scrollTransition视觉效果(ap).md"; sourceTree = ""; }; + 08FC86062C6AEB7B0083C91F /* ScrollView-参考资料(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ScrollView-参考资料(ap).md"; sourceTree = ""; }; + 08FC86072C6AEB7B0083C91F /* ScrollView(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ScrollView(ap).md"; sourceTree = ""; }; + 08FC86092C6AEB7B0083C91F /* Table-多属性排序(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Table-多属性排序(ap).md"; sourceTree = ""; }; + 08FC860A2C6AEB7B0083C91F /* Table-行的选择(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Table-行的选择(ap).md"; sourceTree = ""; }; + 08FC860B2C6AEB7B0083C91F /* Table-样式(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Table-样式(ap).md"; sourceTree = ""; }; + 08FC860C2C6AEB7B0083C91F /* Table-contextMenu(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Table-contextMenu(ap).md"; sourceTree = ""; }; + 08FC860D2C6AEB7B0083C91F /* Table(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Table(ap).md"; sourceTree = ""; }; + 08FC860F2C6AEB7B0083C91F /* ForEach(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ForEach(ap).md"; sourceTree = ""; }; + 08FC86102C6AEB7B0083C91F /* Grid(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Grid(ap).md"; sourceTree = ""; }; + 08FC86122C6AEB7B0083C91F /* Text-动态时间(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Text-动态时间(ap).md"; sourceTree = ""; }; + 08FC86132C6AEB7B0083C91F /* Text(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Text(ap).md"; sourceTree = ""; }; + 08FC86152C6AEB7B0083C91F /* Image(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Image(ap).md"; sourceTree = ""; }; + 08FC86162C6AEB7B0083C91F /* Label(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Label(ap).md"; sourceTree = ""; }; + 08FC86172C6AEB7B0083C91F /* Link(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Link(ap).md"; sourceTree = ""; }; + 08FC86182C6AEB7B0083C91F /* TextEditor(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TextEditor(ap).md"; sourceTree = ""; }; + 08FC86192C6AEB7B0083C91F /* TextField(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TextField(ap).md"; sourceTree = ""; }; + 08FC861B2C6AEB7B0083C91F /* 背景修饰符(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "背景修饰符(ap).md"; sourceTree = ""; }; + 08FC861C2C6AEB7B0083C91F /* 修饰符-蒙版(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "修饰符-蒙版(ap).md"; sourceTree = ""; }; + 08FC861D2C6AEB7B0083C91F /* 修饰符-圆角(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "修饰符-圆角(ap).md"; sourceTree = ""; }; + 08FC861E2C6AEB7B0083C91F /* 修饰符-fixedSize(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "修饰符-fixedSize(ap).md"; sourceTree = ""; }; + 08FC861F2C6AEB7B0083C91F /* 修饰符-visualEffect(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "修饰符-visualEffect(ap).md"; sourceTree = ""; }; + 08FC86202C6AEB7B0083C91F /* 自定义修饰符(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "自定义修饰符(ap).md"; sourceTree = ""; }; + 08FC86212C6AEB7B0083C91F /* ContainerRelativeShape(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ContainerRelativeShape(ap).md"; sourceTree = ""; }; + 08FC86222C6AEB7B0083C91F /* redacted隐私展示(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "redacted隐私展示(ap).md"; sourceTree = ""; }; + 08FC86242C6AEB7B0083C91F /* SwiftUI-自定义样式(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI-自定义样式(ap).md"; sourceTree = ""; }; + 08FC86252C6AEB7B0083C91F /* SwiftUI数据流(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "SwiftUI数据流(ap).md"; sourceTree = ""; }; + 08FC86262C6AEB7B0083C91F /* ViewBuilder(ap).md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "ViewBuilder(ap).md"; sourceTree = ""; }; 3AE0D5992BAB0A0600D6D925 /* DeveloperListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperListView.swift; sourceTree = ""; }; 3AE0D59D2BAB183100D6D925 /* EditDeveloper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditDeveloper.swift; sourceTree = ""; }; 3AF2A2DE2BE22A8C00F3BE1B /* UnCategoryInfoListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnCategoryInfoListView.swift; sourceTree = ""; }; @@ -490,6 +711,7 @@ 08AEAEE7277EDD5D00B969E2 /* Guide */ = { isa = PBXGroup; children = ( + 08FC86282C6AEB7B0083C91F /* appstore */, 08448F44279E7E0300B61353 /* Swift语法 */, 0844902F279ECF7D00B61353 /* 1.md */, ); @@ -603,6 +825,563 @@ path = Category; sourceTree = ""; }; + 08FC85232C6AEB7B0083C91F /* 安全 */ = { + isa = PBXGroup; + children = ( + 08FC85222C6AEB7B0083C91F /* Keychain(ap).md */, + ); + path = "安全"; + sourceTree = ""; + }; + 08FC852D2C6AEB7B0083C91F /* 动画 */ = { + isa = PBXGroup; + children = ( + 08FC85242C6AEB7B0083C91F /* 布局动画(ap).md */, + 08FC85252C6AEB7B0083C91F /* 动画-例子(ap).md */, + 08FC85262C6AEB7B0083C91F /* animation修饰符(ap).md */, + 08FC85272C6AEB7B0083C91F /* contentTransition(ap).md */, + 08FC85282C6AEB7B0083C91F /* KeyframeAnimator(ap).md */, + 08FC85292C6AEB7B0083C91F /* Matched Geometry Effect(ap).md */, + 08FC852A2C6AEB7B0083C91F /* PhaseAnimator(ap).md */, + 08FC852B2C6AEB7B0083C91F /* SwiftUI动画(ap).md */, + 08FC852C2C6AEB7B0083C91F /* Transaction(ap).md */, + ); + path = "动画"; + sourceTree = ""; + }; + 08FC85302C6AEB7B0083C91F /* 介绍 */ = { + isa = PBXGroup; + children = ( + 08FC852E2C6AEB7B0083C91F /* Combine的资料(ap).md */, + 08FC852F2C6AEB7B0083C91F /* Combine是什么(ap).md */, + ); + path = "介绍"; + sourceTree = ""; + }; + 08FC85352C6AEB7B0083C91F /* 使用场景 */ = { + isa = PBXGroup; + children = ( + 08FC85312C6AEB7B0083C91F /* Combine KVO(ap).md */, + 08FC85322C6AEB7B0083C91F /* Combine Timer(ap).md */, + 08FC85332C6AEB7B0083C91F /* Combine通知(ap).md */, + 08FC85342C6AEB7B0083C91F /* Combine网络请求(ap).md */, + ); + path = "使用场景"; + sourceTree = ""; + }; + 08FC85432C6AEB7B0083C91F /* 使用说明 */ = { + isa = PBXGroup; + children = ( + 08FC85362C6AEB7B0083C91F /* append(ap).md */, + 08FC85372C6AEB7B0083C91F /* combineLatest(ap).md */, + 08FC85382C6AEB7B0083C91F /* CurrentValueSubject(ap).md */, + 08FC85392C6AEB7B0083C91F /* Empty(ap).md */, + 08FC853A2C6AEB7B0083C91F /* flatMap(ap).md */, + 08FC853B2C6AEB7B0083C91F /* Just(ap).md */, + 08FC853C2C6AEB7B0083C91F /* merge(ap).md */, + 08FC853D2C6AEB7B0083C91F /* PassthroughSubject(ap).md */, + 08FC853E2C6AEB7B0083C91F /* prepend(ap).md */, + 08FC853F2C6AEB7B0083C91F /* publisher(ap).md */, + 08FC85402C6AEB7B0083C91F /* removeDuplicates(ap).md */, + 08FC85412C6AEB7B0083C91F /* Scheduler(ap).md */, + 08FC85422C6AEB7B0083C91F /* zip(ap).md */, + ); + path = "使用说明"; + sourceTree = ""; + }; + 08FC85442C6AEB7B0083C91F /* Combine */ = { + isa = PBXGroup; + children = ( + 08FC85302C6AEB7B0083C91F /* 介绍 */, + 08FC85352C6AEB7B0083C91F /* 使用场景 */, + 08FC85432C6AEB7B0083C91F /* 使用说明 */, + ); + path = Combine; + sourceTree = ""; + }; + 08FC854F2C6AEB7B0083C91F /* Swift Concurrency */ = { + isa = PBXGroup; + children = ( + 08FC85452C6AEB7B0083C91F /* 结构化并发(ap).md */, + 08FC85462C6AEB7B0083C91F /* Actors(ap).md */, + 08FC85472C6AEB7B0083C91F /* async await(ap).md */, + 08FC85482C6AEB7B0083C91F /* Async Sequences(ap).md */, + 08FC85492C6AEB7B0083C91F /* Concurrency技术演进(ap).md */, + 08FC854A2C6AEB7B0083C91F /* Distributed Actors(ap).md */, + 08FC854B2C6AEB7B0083C91F /* Swift Concurrency和Combine(ap).md */, + 08FC854C2C6AEB7B0083C91F /* Swift Concurrency是什么(ap).md */, + 08FC854D2C6AEB7B0083C91F /* Swift Concurrency相关提案(ap).md */, + 08FC854E2C6AEB7B0083C91F /* Swift Concurrency学习路径(ap).md */, + ); + path = "Swift Concurrency"; + sourceTree = ""; + }; + 08FC85502C6AEB7B0083C91F /* 多线程 */ = { + isa = PBXGroup; + children = ( + 08FC85442C6AEB7B0083C91F /* Combine */, + 08FC854F2C6AEB7B0083C91F /* Swift Concurrency */, + ); + path = "多线程"; + sourceTree = ""; + }; + 08FC85532C6AEB7B0083C91F /* 工程模式 */ = { + isa = PBXGroup; + children = ( + 08FC85512C6AEB7B0083C91F /* 程序入口点(ap).md */, + 08FC85522C6AEB7B0083C91F /* 单例(ap).md */, + ); + path = "工程模式"; + sourceTree = ""; + }; + 08FC85582C6AEB7B0083C91F /* 格式化 */ = { + isa = PBXGroup; + children = ( + 08FC85542C6AEB7B0083C91F /* 格式化-度量值(ap).md */, + 08FC85552C6AEB7B0083C91F /* 格式化-生活日常(ap).md */, + 08FC85562C6AEB7B0083C91F /* 格式化-时间(ap).md */, + 08FC85572C6AEB7B0083C91F /* 格式化-数据(ap).md */, + ); + path = "格式化"; + sourceTree = ""; + }; + 08FC855D2C6AEB7B0083C91F /* 系统及设备 */ = { + isa = PBXGroup; + children = ( + 08FC85592C6AEB7B0083C91F /* 版本兼容(ap).md */, + 08FC855A2C6AEB7B0083C91F /* 系统判断(ap).md */, + 08FC855B2C6AEB7B0083C91F /* canImport判断库是否可使用(ap).md */, + 08FC855C2C6AEB7B0083C91F /* targetEnvironment环境的判断(ap).md */, + ); + path = "系统及设备"; + sourceTree = ""; + }; + 08FC85612C6AEB7B0083C91F /* 自带属性包装 */ = { + isa = PBXGroup; + children = ( + 08FC855E2C6AEB7B0083C91F /* @dynamicCallable动态可调用类型(ap).md */, + 08FC855F2C6AEB7B0083C91F /* @dynamicMemberLookup动态成员查询(ap).md */, + 08FC85602C6AEB7B0083C91F /* @resultBuilder(ap).md */, + ); + path = "自带属性包装"; + sourceTree = ""; + }; + 08FC85642C6AEB7B0083C91F /* 自带协议 */ = { + isa = PBXGroup; + children = ( + 08FC85622C6AEB7B0083C91F /* Hashable(ap).md */, + 08FC85632C6AEB7B0083C91F /* JSON没有id字段(ap).md */, + ); + path = "自带协议"; + sourceTree = ""; + }; + 08FC856E2C6AEB7B0083C91F /* 基础库 */ = { + isa = PBXGroup; + children = ( + 08FC85582C6AEB7B0083C91F /* 格式化 */, + 08FC855D2C6AEB7B0083C91F /* 系统及设备 */, + 08FC85612C6AEB7B0083C91F /* 自带属性包装 */, + 08FC85642C6AEB7B0083C91F /* 自带协议 */, + 08FC85652C6AEB7B0083C91F /* 度量值(ap).md */, + 08FC85662C6AEB7B0083C91F /* 格式化(ap).md */, + 08FC85672C6AEB7B0083C91F /* 时间(ap).md */, + 08FC85682C6AEB7B0083C91F /* 随机(ap).md */, + 08FC85692C6AEB7B0083C91F /* 文件(ap).md */, + 08FC856A2C6AEB7B0083C91F /* AttributeString(ap).md */, + 08FC856B2C6AEB7B0083C91F /* Data(ap).md */, + 08FC856C2C6AEB7B0083C91F /* Scanner(ap).md */, + 08FC856D2C6AEB7B0083C91F /* UserDefaults(ap).md */, + ); + path = "基础库"; + sourceTree = ""; + }; + 08FC85702C6AEB7B0083C91F /* 三方库使用 */ = { + isa = PBXGroup; + children = ( + 08FC856F2C6AEB7B0083C91F /* SQLite.swift的使用(ap).md */, + ); + path = "三方库使用"; + sourceTree = ""; + }; + 08FC85722C6AEB7B0083C91F /* 网络 */ = { + isa = PBXGroup; + children = ( + 08FC85712C6AEB7B0083C91F /* 网络状态检查(ap).md */, + ); + path = "网络"; + sourceTree = ""; + }; + 08FC85752C6AEB7B0083C91F /* 系统能力 */ = { + isa = PBXGroup; + children = ( + 08FC85732C6AEB7B0083C91F /* AppIcon(ap).md */, + 08FC85742C6AEB7B0083C91F /* Swift-DocC(ap).md */, + ); + path = "系统能力"; + sourceTree = ""; + }; + 08FC85842C6AEB7B0083C91F /* 小组件 */ = { + isa = PBXGroup; + children = ( + 08FC85762C6AEB7B0083C91F /* 获取小组件形状(ap).md */, + 08FC85772C6AEB7B0083C91F /* 刷新小组件(ap).md */, + 08FC85782C6AEB7B0083C91F /* 小组件-参考资料(ap).md */, + 08FC85792C6AEB7B0083C91F /* 小组件-获取位置权限更新内容(ap).md */, + 08FC857A2C6AEB7B0083C91F /* 小组件-配置选项(ap).md */, + 08FC857B2C6AEB7B0083C91F /* 小组件-远程定时获取数据(ap).md */, + 08FC857C2C6AEB7B0083C91F /* 小组件-AppIntentConfiguration(ap).md */, + 08FC857D2C6AEB7B0083C91F /* 小组件-Deep link(ap).md */, + 08FC857E2C6AEB7B0083C91F /* 小组件-StaticConfiguration(ap).md */, + 08FC857F2C6AEB7B0083C91F /* 小组件动画(ap).md */, + 08FC85802C6AEB7B0083C91F /* 小组件访问SwiftData(ap).md */, + 08FC85812C6AEB7B0083C91F /* 支持多个小组件(ap).md */, + 08FC85822C6AEB7B0083C91F /* AppIntentTimelineProvider(ap).md */, + 08FC85832C6AEB7B0083C91F /* Widget View(ap).md */, + ); + path = "小组件"; + sourceTree = ""; + }; + 08FC85892C6AEB7B0083C91F /* 性能和构建 */ = { + isa = PBXGroup; + children = ( + 08FC85852C6AEB7B0083C91F /* 调试(ap).md */, + 08FC85862C6AEB7B0083C91F /* 链接器(ap).md */, + 08FC85872C6AEB7B0083C91F /* 内存管理(ap).md */, + 08FC85882C6AEB7B0083C91F /* 性能技术演进(ap).md */, + ); + path = "性能和构建"; + sourceTree = ""; + }; + 08FC85902C6AEB7B0083C91F /* macOS */ = { + isa = PBXGroup; + children = ( + 08FC858A2C6AEB7B0083C91F /* 全屏模式(ap).md */, + 08FC858B2C6AEB7B0083C91F /* 三栏结构(ap).md */, + 08FC858C2C6AEB7B0083C91F /* macOS范例(ap).md */, + 08FC858D2C6AEB7B0083C91F /* macOS共享菜单(ap).md */, + 08FC858E2C6AEB7B0083C91F /* macOS技术演进(ap).md */, + 08FC858F2C6AEB7B0083C91F /* macOS剪贴板(ap).md */, + ); + path = macOS; + sourceTree = ""; + }; + 08FC859B2C6AEB7B0083C91F /* SwiftData */ = { + isa = PBXGroup; + children = ( + 08FC85912C6AEB7B0083C91F /* 创建@Model模型(ap).md */, + 08FC85922C6AEB7B0083C91F /* 容器配置modelContainer(ap).md */, + 08FC85932C6AEB7B0083C91F /* 增删modelContext(ap).md */, + 08FC85942C6AEB7B0083C91F /* SwiftData-版本迁移(ap).md */, + 08FC85952C6AEB7B0083C91F /* SwiftData-处理大量数据(ap).md */, + 08FC85962C6AEB7B0083C91F /* SwiftData-调试(ap).md */, + 08FC85972C6AEB7B0083C91F /* SwiftData-检索(ap).md */, + 08FC85982C6AEB7B0083C91F /* SwiftData-模型关系(ap).md */, + 08FC85992C6AEB7B0083C91F /* SwiftData-资料(ap).md */, + 08FC859A2C6AEB7B0083C91F /* SwiftData多线程(ap).md */, + ); + path = SwiftData; + sourceTree = ""; + }; + 08FC85A32C6AEB7B0083C91F /* Picker选择器 */ = { + isa = PBXGroup; + children = ( + 08FC859C2C6AEB7B0083C91F /* 文字Picker(ap).md */, + 08FC859D2C6AEB7B0083C91F /* 字体Picker(ap).md */, + 08FC859E2C6AEB7B0083C91F /* ColorPicker(ap).md */, + 08FC859F2C6AEB7B0083C91F /* DatePicker(ap).md */, + 08FC85A02C6AEB7B0083C91F /* PhotoPicker(ap).md */, + 08FC85A12C6AEB7B0083C91F /* Picker(ap).md */, + 08FC85A22C6AEB7B0083C91F /* WheelPicker(ap).md */, + ); + path = "Picker选择器"; + sourceTree = ""; + }; + 08FC85A82C6AEB7B0083C91F /* 表单 */ = { + isa = PBXGroup; + children = ( + 08FC85A32C6AEB7B0083C91F /* Picker选择器 */, + 08FC85A42C6AEB7B0083C91F /* Form(ap).md */, + 08FC85A52C6AEB7B0083C91F /* Slider(ap).md */, + 08FC85A62C6AEB7B0083C91F /* Stepper(ap).md */, + 08FC85A72C6AEB7B0083C91F /* Toggle(ap).md */, + ); + path = "表单"; + sourceTree = ""; + }; + 08FC85B02C6AEB7B0083C91F /* 布局基础 */ = { + isa = PBXGroup; + children = ( + 08FC85A92C6AEB7B0083C91F /* 布局-对齐(ap).md */, + 08FC85AA2C6AEB7B0083C91F /* 布局-基础(ap).md */, + 08FC85AB2C6AEB7B0083C91F /* 布局-居中(ap).md */, + 08FC85AC2C6AEB7B0083C91F /* 布局-留白(ap).md */, + 08FC85AD2C6AEB7B0083C91F /* 布局-offset偏移(ap).md */, + 08FC85AE2C6AEB7B0083C91F /* 布局原理(ap).md */, + 08FC85AF2C6AEB7B0083C91F /* Safe Area(ap).md */, + ); + path = "布局基础"; + sourceTree = ""; + }; + 08FC85B72C6AEB7B0083C91F /* 布局进阶 */ = { + isa = PBXGroup; + children = ( + 08FC85B12C6AEB7B0083C91F /* 布局进阶-参考资料(ap).md */, + 08FC85B22C6AEB7B0083C91F /* alignmentGuide(ap).md */, + 08FC85B32C6AEB7B0083C91F /* AnyLayout(ap).md */, + 08FC85B42C6AEB7B0083C91F /* GeometryReader(ap).md */, + 08FC85B52C6AEB7B0083C91F /* Layout协议(ap).md */, + 08FC85B62C6AEB7B0083C91F /* ViewThatFits(ap).md */, + ); + path = "布局进阶"; + sourceTree = ""; + }; + 08FC85BF2C6AEB7B0083C91F /* Navigation导航 */ = { + isa = PBXGroup; + children = ( + 08FC85B82C6AEB7B0083C91F /* 导航状态保存和还原(ap).md */, + 08FC85B92C6AEB7B0083C91F /* 自定义导航栏(ap).md */, + 08FC85BA2C6AEB7B0083C91F /* Inspectors右侧多出一栏(ap).md */, + 08FC85BB2C6AEB7B0083C91F /* Navigation(ap).md */, + 08FC85BC2C6AEB7B0083C91F /* NavigationPath(ap).md */, + 08FC85BD2C6AEB7B0083C91F /* NavigationSplitView(ap).md */, + 08FC85BE2C6AEB7B0083C91F /* NavigationStack(ap).md */, + ); + path = "Navigation导航"; + sourceTree = ""; + }; + 08FC85C62C6AEB7B0083C91F /* 布局组件 */ = { + isa = PBXGroup; + children = ( + 08FC85B02C6AEB7B0083C91F /* 布局基础 */, + 08FC85B72C6AEB7B0083C91F /* 布局进阶 */, + 08FC85BF2C6AEB7B0083C91F /* Navigation导航 */, + 08FC85C02C6AEB7B0083C91F /* Advanced layout control(ap).md */, + 08FC85C12C6AEB7B0083C91F /* ContentUnavailableView(ap).md */, + 08FC85C22C6AEB7B0083C91F /* ControlGroup(ap).md */, + 08FC85C32C6AEB7B0083C91F /* GroupBox(ap).md */, + 08FC85C42C6AEB7B0083C91F /* Stack(ap).md */, + 08FC85C52C6AEB7B0083C91F /* TabView(ap).md */, + ); + path = "布局组件"; + sourceTree = ""; + }; + 08FC85CF2C6AEB7B0083C91F /* 浮层组件 */ = { + isa = PBXGroup; + children = ( + 08FC85C72C6AEB7B0083C91F /* 浮层(ap).md */, + 08FC85C82C6AEB7B0083C91F /* Alert(ap).md */, + 08FC85C92C6AEB7B0083C91F /* confirmationDialog()(ap).md */, + 08FC85CA2C6AEB7B0083C91F /* Full Screen Modal View(ap).md */, + 08FC85CB2C6AEB7B0083C91F /* HUD(ap).md */, + 08FC85CC2C6AEB7B0083C91F /* Menu和ContextMenu(ap).md */, + 08FC85CD2C6AEB7B0083C91F /* Popover(ap).md */, + 08FC85CE2C6AEB7B0083C91F /* Sheet(ap).md */, + ); + path = "浮层组件"; + sourceTree = ""; + }; + 08FC85D32C6AEB7B0083C91F /* 介绍 */ = { + isa = PBXGroup; + children = ( + 08FC85D02C6AEB7B0083C91F /* SwiftUI参考资料(ap).md */, + 08FC85D12C6AEB7B0083C91F /* SwiftUI对标的UIKit视图(ap).md */, + 08FC85D22C6AEB7B0083C91F /* SwiftUI是什么(ap).md */, + ); + path = "介绍"; + sourceTree = ""; + }; + 08FC85DF2C6AEB7B0083C91F /* 视觉 */ = { + isa = PBXGroup; + children = ( + 08FC85D42C6AEB7B0083C91F /* Blend Modes(ap).md */, + 08FC85D52C6AEB7B0083C91F /* SF Symbol(ap).md */, + 08FC85D62C6AEB7B0083C91F /* Shaders Metal(ap).md */, + 08FC85D72C6AEB7B0083C91F /* SwiftCharts(ap).md */, + 08FC85D82C6AEB7B0083C91F /* SwiftUI Canvas(ap).md */, + 08FC85D92C6AEB7B0083C91F /* SwiftUI Effect(ap).md */, + 08FC85DA2C6AEB7B0083C91F /* SwiftUI-背景材质(ap).md */, + 08FC85DB2C6AEB7B0083C91F /* SwiftUI-渐变(ap).md */, + 08FC85DC2C6AEB7B0083C91F /* SwiftUI-模糊(ap).md */, + 08FC85DD2C6AEB7B0083C91F /* SwiftUI-Shadow(ap).md */, + 08FC85DE2C6AEB7B0083C91F /* SwiftUI颜色(ap).md */, + ); + path = "视觉"; + sourceTree = ""; + }; + 08FC85ED2C6AEB7B0083C91F /* 视图协议 */ = { + isa = PBXGroup; + children = ( + 08FC85E02C6AEB7B0083C91F /* 视图协议-核心协议(ap).md */, + 08FC85E12C6AEB7B0083C91F /* 视图协议-简介(ap).md */, + 08FC85E22C6AEB7B0083C91F /* 视图协议-Environment(ap).md */, + 08FC85E32C6AEB7B0083C91F /* 特定情况视图协议(ap).md */, + 08FC85E42C6AEB7B0083C91F /* 小组件协议(ap).md */, + 08FC85E52C6AEB7B0083C91F /* Animations协议(ap).md */, + 08FC85E62C6AEB7B0083C91F /* Documents协议(ap).md */, + 08FC85E72C6AEB7B0083C91F /* Legacy bridges协议(ap).md */, + 08FC85E82C6AEB7B0083C91F /* Previews协议(ap).md */, + 08FC85E92C6AEB7B0083C91F /* Responder chain协议(ap).md */, + 08FC85EA2C6AEB7B0083C91F /* Shapes协议(ap).md */, + 08FC85EB2C6AEB7B0083C91F /* Style协议(ap).md */, + 08FC85EC2C6AEB7B0083C91F /* Toolbar协议(ap).md */, + ); + path = "视图协议"; + sourceTree = ""; + }; + 08FC85F32C6AEB7B0083C91F /* 视图组件 */ = { + isa = PBXGroup; + children = ( + 08FC85EE2C6AEB7B0083C91F /* 进度(ap).md */, + 08FC85EF2C6AEB7B0083C91F /* Button(ap).md */, + 08FC85F02C6AEB7B0083C91F /* Keyboard(ap).md */, + 08FC85F12C6AEB7B0083C91F /* ShareLink(ap).md */, + 08FC85F22C6AEB7B0083C91F /* Transferable(ap).md */, + ); + path = "视图组件"; + sourceTree = ""; + }; + 08FC85F62C6AEB7B0083C91F /* Lazy容器 */ = { + isa = PBXGroup; + children = ( + 08FC85F42C6AEB7B0083C91F /* LazyVGrid和LazyHGrid(ap).md */, + 08FC85F52C6AEB7B0083C91F /* LazyVStack和LazyHStack(ap).md */, + ); + path = "Lazy容器"; + sourceTree = ""; + }; + 08FC86012C6AEB7B0083C91F /* List列表 */ = { + isa = PBXGroup; + children = ( + 08FC85F72C6AEB7B0083C91F /* List-大纲视图(ap).md */, + 08FC85F82C6AEB7B0083C91F /* List-加载更多(ap).md */, + 08FC85F92C6AEB7B0083C91F /* List-轻扫操作(ap).md */, + 08FC85FA2C6AEB7B0083C91F /* List-设置样式(ap).md */, + 08FC85FB2C6AEB7B0083C91F /* List-搜索(ap).md */, + 08FC85FC2C6AEB7B0083C91F /* List-索引标题(ap).md */, + 08FC85FD2C6AEB7B0083C91F /* List-完全可点击的行(ap).md */, + 08FC85FE2C6AEB7B0083C91F /* List-下拉刷新(ap).md */, + 08FC85FF2C6AEB7B0083C91F /* List-移动元素(ap).md */, + 08FC86002C6AEB7B0083C91F /* List(ap).md */, + ); + path = "List列表"; + sourceTree = ""; + }; + 08FC86082C6AEB7B0083C91F /* Scroll滚动视图 */ = { + isa = PBXGroup; + children = ( + 08FC86022C6AEB7B0083C91F /* 固定到滚动视图的顶部(ap).md */, + 08FC86032C6AEB7B0083C91F /* 滚动到特定的位置(ap).md */, + 08FC86042C6AEB7B0083C91F /* scrollTargetBehavior分页滚动(ap).md */, + 08FC86052C6AEB7B0083C91F /* scrollTransition视觉效果(ap).md */, + 08FC86062C6AEB7B0083C91F /* ScrollView-参考资料(ap).md */, + 08FC86072C6AEB7B0083C91F /* ScrollView(ap).md */, + ); + path = "Scroll滚动视图"; + sourceTree = ""; + }; + 08FC860E2C6AEB7B0083C91F /* Table表格 */ = { + isa = PBXGroup; + children = ( + 08FC86092C6AEB7B0083C91F /* Table-多属性排序(ap).md */, + 08FC860A2C6AEB7B0083C91F /* Table-行的选择(ap).md */, + 08FC860B2C6AEB7B0083C91F /* Table-样式(ap).md */, + 08FC860C2C6AEB7B0083C91F /* Table-contextMenu(ap).md */, + 08FC860D2C6AEB7B0083C91F /* Table(ap).md */, + ); + path = "Table表格"; + sourceTree = ""; + }; + 08FC86112C6AEB7B0083C91F /* 数据集合组件 */ = { + isa = PBXGroup; + children = ( + 08FC85F62C6AEB7B0083C91F /* Lazy容器 */, + 08FC86012C6AEB7B0083C91F /* List列表 */, + 08FC86082C6AEB7B0083C91F /* Scroll滚动视图 */, + 08FC860E2C6AEB7B0083C91F /* Table表格 */, + 08FC860F2C6AEB7B0083C91F /* ForEach(ap).md */, + 08FC86102C6AEB7B0083C91F /* Grid(ap).md */, + ); + path = "数据集合组件"; + sourceTree = ""; + }; + 08FC86142C6AEB7B0083C91F /* Text */ = { + isa = PBXGroup; + children = ( + 08FC86122C6AEB7B0083C91F /* Text-动态时间(ap).md */, + 08FC86132C6AEB7B0083C91F /* Text(ap).md */, + ); + path = Text; + sourceTree = ""; + }; + 08FC861A2C6AEB7B0083C91F /* 图文组件 */ = { + isa = PBXGroup; + children = ( + 08FC86142C6AEB7B0083C91F /* Text */, + 08FC86152C6AEB7B0083C91F /* Image(ap).md */, + 08FC86162C6AEB7B0083C91F /* Label(ap).md */, + 08FC86172C6AEB7B0083C91F /* Link(ap).md */, + 08FC86182C6AEB7B0083C91F /* TextEditor(ap).md */, + 08FC86192C6AEB7B0083C91F /* TextField(ap).md */, + ); + path = "图文组件"; + sourceTree = ""; + }; + 08FC86232C6AEB7B0083C91F /* 修饰符 */ = { + isa = PBXGroup; + children = ( + 08FC861B2C6AEB7B0083C91F /* 背景修饰符(ap).md */, + 08FC861C2C6AEB7B0083C91F /* 修饰符-蒙版(ap).md */, + 08FC861D2C6AEB7B0083C91F /* 修饰符-圆角(ap).md */, + 08FC861E2C6AEB7B0083C91F /* 修饰符-fixedSize(ap).md */, + 08FC861F2C6AEB7B0083C91F /* 修饰符-visualEffect(ap).md */, + 08FC86202C6AEB7B0083C91F /* 自定义修饰符(ap).md */, + 08FC86212C6AEB7B0083C91F /* ContainerRelativeShape(ap).md */, + 08FC86222C6AEB7B0083C91F /* redacted隐私展示(ap).md */, + ); + path = "修饰符"; + sourceTree = ""; + }; + 08FC86272C6AEB7B0083C91F /* SwiftUI */ = { + isa = PBXGroup; + children = ( + 08FC85A82C6AEB7B0083C91F /* 表单 */, + 08FC85C62C6AEB7B0083C91F /* 布局组件 */, + 08FC85CF2C6AEB7B0083C91F /* 浮层组件 */, + 08FC85D32C6AEB7B0083C91F /* 介绍 */, + 08FC85DF2C6AEB7B0083C91F /* 视觉 */, + 08FC85ED2C6AEB7B0083C91F /* 视图协议 */, + 08FC85F32C6AEB7B0083C91F /* 视图组件 */, + 08FC86112C6AEB7B0083C91F /* 数据集合组件 */, + 08FC861A2C6AEB7B0083C91F /* 图文组件 */, + 08FC86232C6AEB7B0083C91F /* 修饰符 */, + 08FC86242C6AEB7B0083C91F /* SwiftUI-自定义样式(ap).md */, + 08FC86252C6AEB7B0083C91F /* SwiftUI数据流(ap).md */, + 08FC86262C6AEB7B0083C91F /* ViewBuilder(ap).md */, + ); + path = SwiftUI; + sourceTree = ""; + }; + 08FC86282C6AEB7B0083C91F /* appstore */ = { + isa = PBXGroup; + children = ( + 08FC85232C6AEB7B0083C91F /* 安全 */, + 08FC852D2C6AEB7B0083C91F /* 动画 */, + 08FC85502C6AEB7B0083C91F /* 多线程 */, + 08FC85532C6AEB7B0083C91F /* 工程模式 */, + 08FC856E2C6AEB7B0083C91F /* 基础库 */, + 08FC85702C6AEB7B0083C91F /* 三方库使用 */, + 08FC85722C6AEB7B0083C91F /* 网络 */, + 08FC85752C6AEB7B0083C91F /* 系统能力 */, + 08FC85842C6AEB7B0083C91F /* 小组件 */, + 08FC85892C6AEB7B0083C91F /* 性能和构建 */, + 08FC85902C6AEB7B0083C91F /* macOS */, + 08FC859B2C6AEB7B0083C91F /* SwiftData */, + 08FC86272C6AEB7B0083C91F /* SwiftUI */, + ); + name = appstore; + path = ../../../../../appstore; + sourceTree = ""; + }; 3AE0D5962BAB09AB00D6D925 /* Developer */ = { isa = PBXGroup; children = (