当前位置: 首页 > news >正文

滕州建设局网站西安网站建设公司十强

滕州建设局网站,西安网站建设公司十强,南昌网站设计资讯,大连做网站seo一、常量和变量 常量let,变量var 也可以用于确定数组和字典的不可变和可变 二、数据类型: Int:整数类型,可表示有符号整数或无符号整数,分别使用Int和UInt表示。 Float:单精度浮点数类型,用于…

一、常量和变量

常量let,变量var
也可以用于确定数组和字典的不可变和可变

二、数据类型:

Int:整数类型,可表示有符号整数或无符号整数,分别使用Int和UInt表示。
Float:单精度浮点数类型,用于存储小数。
Double:双精度浮点数类型,用于存储更大的小数,精度更高。
Bool:布尔类型,表示真或假。
String:字符串类型,用于存储文本数据。
Character:字符类型,用于存储单个字符。
Array:数组类型,用于存储有序集合。
Dictionary:字典类型,用于存储键值对集合。
Set:集合类型,用于存储无序集合。
Optional:可选类型,用于表示值可能不存在的情况。

四则运算

类型匹配才能加减乘除
或者有些情况需要(Type)强转类型

数据类型里需要特别注意的几个:
String

遍历: for in 
拼接: + 
格式化输出 : let str = String(format: "%@=%@", key, value)
还有一种\()的快速输出方法 var str =  "制作一杯\(type)咖啡。"
模版语法:let string = "”" Hello Swift! Hello Swift!Hello Swift! """

Array

定义和初始化:

// let代表不可变数组
let array:Array<String> 
// var代表可变数组
var array: [String]

然后初始化的时候字面量给值就可以了
后边的类型可给可不给


增:
append 删:
remove(at: 0) // 删除第一个元素并将其返回
removeLast() // 删除最后一个元素并将其返回
removeFirst()改:
array[0] = "asd"插入:
myArray.insert(7, at: 0) // 在第一个位置插入元素 7数组长度:
.count可以拿到长度拼接:
+遍历for in 和map闭包都可
//for in
for element in myArray { print(element) 
}//map
let result = numbers.map({ (number: Int) -> Int inlet result = number * 2return result
})

Dictionary(map)
定义和初始化:

var dict1: Dictionary<Int, String> 
var dict2: [Int: String]
然后初始化的时候字面量给值就可以了
后边的类型可给可不给
// 添加数据
dict["height"] = 1.88 
// 删除字段
dict.removeValueForKey("height”) 
// 修改字典
dict["name"] = "花花” 
// 查询字典
dict["name”]//合并
var dict1 = ["name" : "花花", "age" : 18] 
var dict2 = ["height" : 1.8] 
// 字典不可以直接相加合并 
for (key, value) in dict2 { dict1[key] = value 
}//遍历
// 遍历字典中所有的值 
for value in dict.values { print(value) 
} 
// 遍历字典中所有的键 
for key in dict.keys {print(key) 
} 
// 遍历所有的键值对 
for (key, value) in dict { print(key) print(value) 
}

Optional
Pre: nil

在 Swift 中,nil 是一个特殊的值,用于表示“没有值”。nil 是一个可选类型(Optional),它可以用于表示一个值不存在的情况。
在 Swift 中,所有的变量和常量都必须要初始化,即使是一个空字符串或者空数组。如果你没有为一个变量或常量赋值,Swift 会报错。但是,当你使用可选类型时,可以将其初始化为 nil,表示该值目前不存在。这个特性很有用,因为有时你并不知道一个变量或常量的初始值是什么。

1)定义可选类型
在 Swift 中,可选类型的定义使用 ? 符号。例如,下面的代码定义了一个可选类型的字符串变

var optionalString: String?

这个字符串可以存储一个字符串或者nil

2)赋值和访问

optionalString = "Hello, Swift!"

访问需要解包,一般可以借助if else

if let string = optionalString { print(string) 
} else { print("optionalString is nil”) 
}

3)强制访问用!直接赋值

var optionalString: String?
optionalString = "Hello, Swift!"
let string = optionalString!
print(string)

三、条件判断和循环

1.条件语句

首先if和for都不需要括号,这里写法跟python很像
If就常规用:

let a = 10 
if a > 9 { print(a) 
}

但是这里不要直接if某个值,eg if(a), 要像上边一样加上条件判断
三目运算符:

var result = a > b ? a : b

switch:
不喜欢用,一般都是if单个名中
注意switch有一点很先进,swift中的switch不需要break,自动加了
再也不用为忘加break担心了

let sex = 0 
switch sex { case 0 : print("男”) case 1 : print("女”) default : print("其他”) 
}

guard:
语法很奇怪,不建议用

var age = 18 
func online(age : Int) -> Void { //注意这里意思的<18的判断guard age >= 18 else { print("回家去”) return } print("可以上网”) 
} 
online(age)

2.循环语句
for in就够了

for i in 0...10 { print(i) 
}

四、函数

func 函数名(参数列表) -> 返回值类型 { 代码块 return 返回值 
}

没有返回值可以写void或者不写
默认参数应该是比较常用的一种状态:

func makecoffee(type :String = "卡布奇诺") -> String { return "制作一杯\(type)咖啡。” 
}

至于可变参数,实际上是解构一个数组:

func sum(numbers:Double...) -> Double {}
sum(100.0, 20, 50)

五、 闭包

带参数的闭包:

{(parameters) -> return type in// code
}

Eg1:

let greet = {(name: String) -> String inreturn "Hello, \(name)!"
}
print(greet("Swift"))
// 输出:"Hello, Swift!"

Eg2:

let numbers = [1, 2, 3, 4, 5]let result = numbers.map({ (number: Int) -> Int inlet result = number * 2return result
})print(result)
// 输出:[2, 4, 6, 8, 10]

swift中解决weak strong dance的方法
weak stong dance主要是关于内外self的区别,方便后期释放

httpTool.loadRequest { [weak self] in self.view.backgroundColor = UIColor.redColor() 
}
// [weak self] () -> () in ,因为()=>()都为空省略掉了

六、懒加载

lazy关键词,只会被实例化一次

lazy var array : [String] = { () -> [String] in return ["a", "b", "c”]
}() //这里直接()执行赋值了'

七、类

class 类名 : SuperClass { // 定义属性和方法
}
⚠️ 定义的类,可以没有父类.那么该类是 rootClass

类的属性有以下几种

  • 存储属性:存储实例的常量和变量
  • 计算属性:通过某种方式计算出来的属性
  • 类属性:与整个类自身相关的属性
    存储属性,就是正常在类里边定义的属性值
    计算属性的关键就是setter和getter,间接获取和改变其他属性
    类属性可以直接类名调用加了,static
eg:
class Student : NSObject { // 存储属性 var age : Int = 0 var name : String? var englishScore : Double = 0.0 var mathScore : Double = 0.0 // 计算属性 var averageScore : Double { get { return (englishScore + mathScore) / 2 } // 没有意义.newValue是系统分配的变量名,内部存储着新值 set { self.averageScore = newValue } } // 类属性 static var corseCount : Int = 0 
} 
// 设置类属性的值 
Student.corseCount = 3

类的构造函数:

  • 创建一个类时,必然会调用一个构造函数
  • 即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数。
  • 如果是继承自NSObject,可以对父类的构造函数进行重写,当然也可以自己定义

Eg: 初始化的时候给属性赋值

class Person: NSObject { var name : String? var age : Int = 0 // 自定义构造函数,会覆盖init()函数 ,省略重定义的overrideinit(name : String, age : Int) { self.name = name self.age = age} 
} 
// 创建一个Person对象 
let p = Person(name: "花花", age: 18)
http://www.mmbaike.com/news/103022.html

相关文章:

  • 阿里云做网站电话关键词林俊杰mp3在线听
  • 哪个网站可以做批发自己搭建网站
  • 专门做水产海鲜的网站吗深圳英文站seo
  • 页面效果好的网站泰州seo公司
  • 网站开发 工作职责国外网站排名 top100
  • 网站设计论文答辩seo标题优化导师咨询
  • 网站建设合同有哪些宁波seo推广费用
  • 潍坊市城市建设官网站湖南长沙关键词推广电话
  • 万网域名管理平台登录杭州小周seo
  • xx网站建设策划方案百搜网络科技有限公司
  • 爱站长尾关键词挖掘工具厦门百度seo点击软件
  • 青岛会议网站制作公司谷歌海外推广怎么做
  • 蓝顿长沙网站制作公司seo搜索引擎优化营销案例
  • wordpress 视频站模板下载sem外包
  • 仙居微信网站开发谷歌竞价广告
  • 网站视觉优化怎么做线下营销推广方式都有哪些
  • 网站开发用c语言吗百度指数官方
  • 电子商务网站建设合同签订网络营销的背景和意义
  • 网上商城网站建设方案沈阳seo整站优化
  • 正规的网站制作开发铁岭网站seo
  • 网络广告发布关键词优化排名软件怎么样
  • 怎么做网站快照成都推广系统
  • 做钟点工 网站seo提升排名技巧
  • 做特卖网站手机版百家号官网
  • 网站建设与管理总结对网络营销的理解
  • 可以在什么网站做二建题目怎么推广软件让别人下载
  • 做58同城这样的网站网络营销专家
  • 综合商城网站程序网站竞价推广托管公司
  • 淮安做网站.哪家网络公司好?广西网站seo
  • 做网站宝安怎么找平台推广自己的产品