ios语言基础

news/2024/10/19 9:31:46/

Swift

1. 变量和常量
  • 变量:使用 var 关键字定义,可以修改其值。
  • 常量:使用 let 关键字定义,值一旦设定就不能修改。
var variableName = 42
variableName = 50let constantName = 42
// constantName = 50 // 这是错误的,因为常量不能修改
2. 数据类型

Swift 是类型安全的语言,每个变量和常量都有一个确定的类型。常见数据类型包括:

  • Int:整数
  • FloatDouble:浮点数
  • Bool:布尔值
  • String:字符串
  • Array:数组
  • Dictionary:字典
let anInteger: Int = 10
let aFloat: Float = 4.5
let aDouble: Double = 3.14159
let aBool: Bool = true
let aString: String = "Hello, Swift"
let anArray: [Int] = [1, 2, 3]
let aDictionary: [String: Int] = ["one": 1, "two": 2]
3. 操作符

Swift 提供了常见的算术操作符、比较操作符、逻辑操作符和赋值操作符。

let sum = 2 + 3
let difference = 5 - 2
let product = 2 * 3
let quotient = 6 / 2let isEqual = (2 == 2) // true
let isNotEqual = (2 != 3) // true
let isGreater = (3 > 2) // truelet isTrue = true && false // false
let isFalse = true || false // true
4. 条件语句

Swift 使用 ifelse 来构造条件语句。

let temperature = 30if temperature > 25 {print("It's hot outside.")
} else {print("It's not that hot outside.")
}
5. 循环语句

Swift 支持 for 循环和 while 循环。

let numbers = [1, 2, 3, 4, 5]for number in numbers {print(number)
}var counter = 0
while counter < 5 {print(counter)counter += 1
}
6. 函数

使用 func 关键字定义函数,支持参数和返回值。

func greet(name: String) -> String {return "Hello, \(name)!"
}let greeting = greet(name: "Alice")
print(greeting) // 输出 "Hello, Alice!"
7. 类和对象

Swift 是面向对象编程语言,使用 class 关键字定义类。

class Person {var name: Stringvar age: Intinit(name: String, age: Int) {self.name = nameself.age = age}func introduce() -> String {return "Hi, I'm \(name) and I'm \(age) years old."}
}let person = Person(name: "Bob", age: 25)
print(person.introduce()) // 输出 "Hi, I'm Bob and I'm 25 years old."
8. 结构体

结构体使用 struct 关键字定义,类似于类,但它是值类型。

struct Point {var x: Intvar y: Intfunc description() -> String {return "Point at (\(x), \(y))"}
}let point = Point(x: 10, y: 20)
print(point.description()) // 输出 "Point at (10, 20)"
9. 枚举

使用 enum 关键字定义枚举。

enum CompassPoint {case northcase southcase eastcase west
}let direction = CompassPoint.northswitch direction {
case .north:print("Heading north")
case .south:print("Heading south")
case .east:print("Heading east")
case .west:print("Heading west")
}

iOS 开发

1. Xcode

Xcode 是苹果公司提供的集成开发环境(IDE),用于开发 iOS 和 macOS 应用。它包括代码编辑器、调试器和 Interface Builder 等工具。

2. UIKit

UIKit 是 iOS 应用的基础框架,提供了构建和管理应用用户界面的基本工具和 API。以下是一些核心概念:

  • UIView:所有视图的基类,代表屏幕上的矩形区域。
  • UIViewController:控制视图的控制器,管理视图的生命周期和用户交互。
  • UITableView:显示可滚动的单列列表的视图。
  • UICollectionView:显示多列或自定义布局的可滚动列表的视图。
3. Hello World 示例

以下是一个简单的 iOS 应用示例,展示如何在屏幕上显示 “Hello World”。

  1. 创建一个新的 Xcode 项目

    • 打开 Xcode,选择 “Create a new Xcode project”。
    • 选择 “App” 模板,点击 “Next”。
    • 输入项目名称和组织标识符,选择语言为 Swift,点击 “Next”。
    • 选择保存位置,点击 “Create”。
  2. 修改 ViewController

    • 打开 ViewController.swift 文件。
    • viewDidLoad 方法中添加以下代码:
    import UIKitclass ViewController: UIViewController {override func viewDidLoad() {super.viewDidLoad()// 创建一个标签let label = UILabel()label.text = "Hello World"label.textAlignment = .centerlabel.frame = view.bounds// 将标签添加到视图中view.addSubview(label)}
    }
    
  3. 运行应用

    • 选择一个模拟器或连接的设备。
    • 点击 Xcode 顶部的运行按钮,运行应用。

http://www.ppmy.cn/news/1509444.html

相关文章

NacosRce到docker逃逸实战

1、Nacos Derby Rce打入内存马 这个漏洞的原理大家应该都知道&#xff0c; 2.3.2 < Nacos < 2.4.0版本默认derby接口未授权访问&#xff0c;攻击者可利用未授权访问执行SQL语句加载构造恶意的JAR包导致出现远程代码执行漏洞。 在日常的漏洞挖掘过程中也是碰到了nacos&…

CNN代码实战

CNN的原理 从 DNN 到 CNN &#xff08;1&#xff09;卷积层与汇聚 ⚫ 深度神经网络 DNN 中&#xff0c;相邻层的所有神经元之间都有连接&#xff0c;这叫全连接&#xff1b;卷积神经网络 CNN 中&#xff0c;新增了卷积层&#xff08;Convolution&#xff09;与汇聚&#xff08…

leetcode线段树(2940. 找到 Alice 和 Bob 可以相遇的建筑)

前言 经过前期的基础训练以及部分实战练习&#xff0c;粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个下标从 0 开始的正整数数组 heights &#xff0c;其中 heights[i] 表示第 i 栋建筑的高度。 如果一个人在建筑 i &#xff0c;且存在 i < j 的建筑…

Java Nacos与Gateway的使用

Java系列文章目录 IDEA使用指南 Java泛型总结&#xff08;快速上手详解&#xff09; Java Lambda表达式总结&#xff08;快速上手详解&#xff09; Java Optional容器总结&#xff08;快速上手图解&#xff09; Java 自定义注解笔记总结&#xff08;油管&#xff09; Jav…

【网络层】上

目录 一. 网络层功能概述二. SDN的基本功能2.1 数据平面2.2 控制平面&#xff08;传统方法/每路由器法&#xff09;2.3 控制平面&#xff08;SDN方法&#xff09; 三. 路由算法与路由协议四. IP数据报4.1 IP数据报格式4.2 IP数据报分片4.3 IP地址 &#xff08;IPV4&#xff09;…

(源码)Springboot项目集成Activiti工作流,前端Vue,Bpmn.js

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;一套完整并且实际运用在多套项目中的案例&#xff0c;满足日常业务流程审批需求。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器&#xff0c;流行的前后端…

【待修改】使用GraphRAG+LangChain+Ollama(LLaMa 3.1)知识图谱与向量数据库集成(Neo4j)

如何使用 LLama 3.1(一个本地运行的模型)来执行GraphRAG操作,总共就50号代码。 首先,什么是GraphRAG?GraphRAG是一种通过考虑实体和文档之间的关系来执行检索增强生成的方式,关键概念是节点和关系。 ▲ 知识图谱与向量数据库集成 知识图谱与向量数据库集成是GraphRAG 架…

thinkcell甘特图怎么做thinkcell甘特图调整列宽

在项目管理和计划制定过程中&#xff0c;甘特图是一种非常实用的工具&#xff0c;能够直观地展示项目的时间线和进度。think-cell作为一款强大的PowerPoint插件&#xff0c;提供了制作甘特图的功能&#xff0c;帮助用户以直观的方式展示复杂的项目计划。本文将详细介绍如何在th…