用swift开发ios移动端app应用初体验

简介: 直接跟着 apple 官方的 SwiftUI 教程跑的,写惯了 javascript 奔放的代码,很多语法理解起来还是有点费劲

直接跟着 apple 官方的 SwiftUI 教程跑的,写惯了 javascript 奔放的代码,很多语法理解起来还是有点费劲。

定义变量

swift 定义变量用 var,但是定义常量用 let,这个和 javascript 里不同,javascript 里 let 依然是和 var 一样用来定义变量的,定义常量用 const。

kotlin 中定义变量用 var,定义常量用 val。

字符串中插入变量(字符串插值)

swift 字符串插值是在字符串中使用 (),和javascript里的模板字符串${变量}类似,python中可以用 f"Hello, {变量}" 实现,php中可以用直接用花括号{},Java语言没有提供原生的字符串插值功能。

swift

let userName = '周小黑'
var greet = 'Hello, \(userName)'

javascript

const userName = '周小黑'
let greet = `Hello, ${
     userName}`

python

# python3.6 之后版本,字面量格式化字符串
userName = '周小黑'
greet = f'Hello, {userName}'

php

$userName = '周小黑'
$greet = "Hello, {$userName}"
// $greet = "Hello, $userName" // 这种写法也可以,变量名不会和后面的字符连在一起产生歧义也可以不要 {},但是必须要用双引号不能单引号
// $greet = "Hello, ".$userName

Kotlin

val userName = '周小黑'
var greet = "Hello, ${userName}"
var greet2 = "Hello, $userName"

使用系统图标

苹果官方提供了好几千个系统符号可以直接使用,那东西叫 SF Symbols,可以直接在苹果网站下载下来安装到本地就可以直接看到所有的图标,使用的时候提供名字就行了 Image(systemName: "")

遇到的问题:

1. Creating a Card View 这个例子,卡片背景颜色死活不出来

一直是白色的背景,官方示例里第一个卡片是黄色背景,开始一直以为是哪写错了,直接用官方的代码覆盖还是没有背景色,后面看源码才发现 Assets.xcassets 文件夹下还有一个 Themes 的主题色设置的文件,拷贝到自己的项目里,背景颜色就有了。

2. 多个 Preview 删除

手贱点了几下 右边 Preview 最右边的复制添加图标,一下跑出好几个 simulator 模拟视图,找了半天也没找到在哪删,原来你点一个复制,当前视图的代码里就会给你多加一行视图代码,所以自己直接在代码里删除多添加的代码就可以了。

3. 全局搜索替换内容

点 xcode 里的放大镜只发现搜索,死活没找到像 vscode 里辣么方便的替换功能,原来默认的是搜索,自己点下搜索那的面包屑导航上的 Find,那是个下拉菜单,里面还有一个 replace。

4. 隐藏 xcode 左边文件目录

一个显示屏开发,有时还要对照着查看资料,开发工具就只能尽可能缩小,xcode 隐藏左边的文件目录是在左上角,点击那个书本的图标,就可以切换隐藏和显示。

相关文章
|
6天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
6天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
17 1
|
6天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
6天前
|
前端开发 Android开发 开发者
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
【4月更文挑战第30天】本文探讨了使用Flutter开发混合应用的方法。混合应用结合Web技术和原生容器,提供快速开发和低成本维护。Flutter,一款现代前端框架,以其插件系统和高性能渲染引擎支持混合应用开发。通过创建Flutter项目、添加平台代码、使用WebView、处理平台间通信以及发布应用,开发者可构建跨平台混合应用。虽然混合应用有性能和用户体验的局限,但Flutter的跨平台兼容性和丰富的插件生态降低了开发成本。开发者应根据项目需求权衡选择。
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
|
6天前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
39 0
|
6天前
|
机器学习/深度学习 数据采集 TensorFlow
【Swift开发专栏】Swift与机器学习:构建智能应用
【4月更文挑战第30天】本文探讨了使用Swift开发机器学习应用,分为三个部分:机器学习基础(定义、类型及应用),Swift在机器学习中的作用(Swift for TensorFlow、Core ML及性能优势),以及实践技巧(数据预处理、特征工程、模型训练与部署、性能优化和用户界面集成)。通过学习,开发者能掌握构建智能应用的技能,利用Swift的性能和安全性提升应用效率。随着深入学习,开发者可探索更多高级特性和技术,如深度学习和复杂数据分析。
|
6天前
|
存储 API Swift
【Swift开发专栏】Swift函数与闭包的实战应用
【4月更文挑战第30天】本文介绍了 Swift 中函数和闭包的实战应用。首先,函数的基本使用包括定义、参数与返回值、函数类型以及高级技巧如嵌套函数。接着,讨论了闭包的语法,包括无名函数、作为函数参数、简写形式和尾随闭包。最后,展示了函数和闭包在实战中的应用,如排序过滤集合和处理异步任务的回调。
|
6天前
|
缓存 Swift UED
【Swift开发专栏】Swift应用的启动优化
【4月更文挑战第30天】本文介绍了Swift应用启动优化技巧,包括优化代码结构和资源加载。建议减少启动时加载的代码,采用延迟加载、分模块加载和懒加载策略;优化初始化代码,注意顺序、异步初始化和避免全局初始化。对于资源,压缩图片、使用矢量图和图片缓存可提升加载速度。文中还提供了实战案例,展示如何在代码中实施这些优化措施。
|
6天前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
|
6天前
|
缓存 算法 Swift
【Swift 开发专栏】Swift 应用的性能优化技巧
【4月更文挑战第30天】本文探讨了Swift应用性能优化,强调理解性能瓶颈、针对性优化和平衡性能与代码质量的重要性。提出优化技巧,包括选择合适数据结构、避免不必要的对象创建、使用缓存、优化算法、减少计算、管理内存、利用多核处理、优化网络请求和界面渲染。通过实际案例分析证明了这些方法能有效提升应用性能和用户体验。开发者应持续关注新技术和方法,以适应不断提升的性能要求。