sw i f t 作为苹果新的开发语言,相比Object-C相对好理解,项目需要因此需要学习一下,特此写下此笔记
Swift 学习建议参考苹果开发者中心文档:
代码:
// // main.swift // swiftlearn // // Created by YoungStream on 16/3/23. // Copyright © 2016年 mugutu. All rights reserved. // import Foundation print("Hello, World!") //定义变量 var myVar = 42 myVar = 35 var myVar2: Double = 30.345 var myStr:String = "Hello Swift!" //定义一个常量,没有指明类型时,编译器根据初始值自动推断出myConst是一个整数 let myConst = 43 //定义一个常量并声明类型 let myConst2: Double = 30.0 let myFloat: Float = 4.0 // Int8整型常量或者变量能够存储的数值是-128到127,而UInt8整型常量或者变量能够存储的 //数值范围是0到255.当编译的时候,数值越界是不会自动得到合适的值的,而且会编译出错。 //let t1: UInt8 = -1 /* 整型雨浮点类型的转换 */ let three = 3 // 转换three为整型 let pi = Double(three) + 0.14569 let integer = Int(3.1415926) print("This A Value : "+String(integer)) //array数组 var shoppingList = ["one","two","three"] shoppingList[0] = "once again" var occupations = [ "one" :"Mom", "two" :"Lily", "three" :"Tom" ] occupations["four"] = "Jack"; //初始化空数组 let emptyArray = [String]() //初始化空字典 let emptyDictionary = [String:Float]() //==Control Flow== 流程控制 if else for let individualScores = [75,43,103,87,12] var tempScore = 0; for score in individualScores { if score > 50 { tempScore += 3; } else { tempScore += 1; } } var optionalString:String? = "Hello" print(optionalString == nil) var optionName:String? = nil //var optionName:String? = "John Appleseed" var greeting = "Hello!" if let name = optionName { greeting = "Hello, \(name)" } else { greeting = "Hello,YoungStream" } print(greeting) let nickName: String? = nil let fullName: String = "Young Stream" let informalGreeting = "Hi \(nickName ?? fullName)" print("infomalGreeting : "+informalGreeting) //Switch Case let vegetable = "red pepper" switch vegetable { case "celery": print("This is celelry") case "cucumber","watercress": print("That would make a good tea sandwich.") case let x where x.hasSuffix("pepper"): print("It is a spicy \(x)?") default: print("Swicth Case Default Print") } //for each pai value let interestingNumbers = [ "Prime": [2,3,5,7,11,13], "Fibonacci": [1,1,2,3,5,8], "Square":[1,4,9,16,25] ] var largest = 0 for(kind,numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number } } print("key : "+kind) } print("The Max Value : "+String(largest)) //While Repeat var n = 2 while n < 100 { n = n * 2 } print("While N Value : "+String(n)) var m = 2 repeat { m = m * 4 } while m < 100 print("Repeat M Value : "+String(m)) var total = 0 for i in 0..<4 { total += i } print("For ..< Value : "+String(total)) //== Functions and Closures == print("=== Functions and Closures ===") //func FunctionName(paramName:paramType ...) -> returnType {Function Body} func greet(name:String,day:String) ->String { return "Hello \(name), today is \(day)." } print("Function greet return Value: "+greet("Bob",day:"Tuesday")) //使用元组返回多个值 func calculateStatistics(scores:[Int]) -> (min: Int,max: Int,sum: Int) { var min = scores[0] var max = scores[0] var sum = 0 for score in scores { if score > max { max = score } else if score < min { min = score } sum += score } return (min,max,sum) } var calcuReturn = calculateStatistics([1,2,3,4,5,6,7,8,9,10]) print("Function calculateStatistics return Value : max => "+String(calcuReturn.max)+", min => "+String(calcuReturn.0)+", sum => "+String(calcuReturn.sum)) //函数嵌套 Function Nested func returnFifteen() -> Int { var y = 10 func add() { y += 5 } add() return y } print("Function Nested At. returnFifteen Return Value : "+String(returnFifteen())) //Function Return Another Function func makeIncrementer() -> ((Int) -> Int) { func addOne(number:Int) -> Int { return 1 + number } return addOne } var increment = makeIncrementer() print("Return Function's Return Value : "+String(increment(7))) //Function use Another Function as Parameter 函数使用应一个函数作为参数 func hasAnyMatches(list:[Int],condition:(Int) ->Bool) -> Bool { for item in list { if condition(item) { return true } } return false } func lessThanTen(number:Int) -> Bool { return number < 10 } var numbers = [20,19,18,12] print("Function hasAnyMatches Return Value : "+String(hasAnyMatches(numbers,condition:lessThanTen))) numbers.map({ (number:Int) -> Int in let result = 3 * number return result }) let sortedNumbers = numbers.sort{$0 > $1} print("Closures Sorted Numbers Result[闭包函数SortedNumbers结果]") print(sortedNumbers) let mappedNumbers = numbers.map({number in 3 * number}) print("Numbers Map Result : "+String(mappedNumbers)) print("Add Total : "+String(tempScore)) print(occupations[shoppingList[1]]) print("Hello Swift :\(myVar) , \(myStr), \(myConst),\(integer)") //Objects and Classes class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with \(numberOfSides) sides" } } var shape = Shape() shape.numberOfSides = 7 var shapeDescription = shape.simpleDescription() print("Shape Instance Description : "+shapeDescription) class NamedShape { var numberOfSides: Int = 0 var name: String init(name:String) { self.name = name; } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } class Square: NamedShape { var sideLength:Double init(sideLength:Double,name:String) { self.sideLength = sideLength super.init(name:name) numberOfSides = 4 } func area() -> Double { return sideLength * sideLength } override func simpleDescription() -> String { return "A square sides of length \(sideLength)." } } let test = Square(sideLength:5.2,name:"my test square") test.area() test.simpleDescription() class EquilateralTriangle: NamedShape { var sideLength: Double = 0.0 init(sideLength: Double,name: String) { self.sideLength = sideLength super.init(name:name) numberOfSides = 3 } var perimeter: Double { get { return 3.0 * sideLength } set { sideLength = newValue / 3.0 } } override func simpleDescription() -> String { return "An equilateral triangle with sides of length \(sideLength)." } } var triangle = EquilateralTriangle(sideLength: 3.1, name: "a triangle") print(triangle.perimeter) triangle.perimeter = 9.9 print(triangle.sideLength)
相关推荐
Swift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习...
"Swift学习笔记.docx" 和 "Swift学习笔记.pdf" 可能是由个人开发者或经验丰富的程序员编写的实践总结,通常会包含作者在学习过程中遇到的问题、解决方法和技巧,这对于初学者来说是非常宝贵的实战经验。这些笔记可能...
Swift 学习笔记 Swift 是一种现代化的高性能编程语言,旨在为 iOS、macOS、watchOS 和 tvOS 等苹果平台上的应用程序提供强大的开发能力。本文将总结 Swift 的一些基础知识,包括基本语法、变量声明、数据类型、控制...
这篇学习笔记主要涵盖了Swift的基础知识和关键特性,旨在帮助初学者理解并掌握这种现代、强大且易读的语言。 一、Swift语言基础 Swift的语法简洁明了,易于理解。它引入了类型推断,使得编写代码时可以减少冗余的...
SwiftNote 是一个关于Swift编程语言的学习笔记集合,旨在帮助开发者深入了解和掌握Apple的这款现代、高性能的编程语言。这份笔记可能包含了从基础语法到高级特性的全面讲解,以及作者在学习过程中的心得和实践案例。...
Swift编程语言以其强大的功能、简洁的语法和安全性在iOS、macOS、watchOS以及tvOS应用开发中占据了重要地位。扩展是Swift中的一个重要特性,它允许我们为已存在的类型添加新功能,而无需继承。本篇文章将深入探讨...
这篇学习笔记将深入探讨Swift下标脚本的使用,帮助你更好地理解和应用这一特性。 一、定义下标 在Swift中,你可以为自定义类型定义下标,以支持通过特定索引来访问和修改其内部数据。定义下标的关键字是`subscript`...
本笔记将深入探讨Swift中的函数编程,包括其语法、特性以及如何通过实际编程题来提升理解。 首先,Swift函数的定义使用关键字`func`,接着是函数名,然后是圆括号内的参数列表。例如: ```swift func greet(name: ...
本篇学习笔记将详细讲解如何使用Swift实现无限轮播图的三种不同方式。 一、纯代码实现 纯代码实现无限轮播图需要我们手动处理滚动逻辑、定时器以及视图的显示和隐藏。首先,我们需要一个UICollectionView或...
子类Tandem继承自子类Bicycle,继承了Bicycle从Vehicle继承来的存储属性currentSpeed、只读计算属性description和方法
在这篇Swift学习笔记中,我们将深入探讨if/switch语句以及for和while循环。 1. **if语句**: 在Swift中,if语句的使用方式与Objective-C有所不同。首先,Swift的if语句后面不需要加括号,条件必须是明确的Bool类型...
本学习笔记将深入探讨Swift的基础知识,帮助初学者快速掌握这一强大的工具。 一、Swift简介 Swift是由Apple在2014年WWDC(全球开发者大会)上推出的,旨在提高开发效率和代码安全。它吸收了Objective-C的优点,同时...
OpenStack Swift 学习笔记 OpenStack Swift 是 OpenStack 开源云计算项目的子项目之一,旨在使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达 PB 级。Swift 并不是文件系统或者实时的数据存储...
在Swift编程语言中,构造器(Constructor)是用于初始化新实例的特殊方法。当我们在创建一个新的结构体或类的实例时,构造器负责设置初始状态。在某些情况下,为了满足不同的初始化需求,我们可能需要定义多个构造器...
这篇快速学习笔记将带你深入理解Swift的基础概念,包括类的继承、扩展和泛型、类与结构体、协议、数据结构和控制流以及自动引用计数(ARC)。 首先,我们来看“SwiftStudyPlayground类的继承.playground”。在Swift...
Swift中的元组(tuples)是一种强大的数据结构,它允许你在单个复合类型中组合不同类型的值。元组可以包含零个或多个元素,并且每个元素可以是任意类型。这使得元组成为在Swift中临时存储和传递多值的理想选择。 ...
知识点一:Swift语言概述 Swift是苹果公司推出的一种编程语言,主要用于iOS、macOS、watchOS和tvOS应用的开发。...随着对Swift语言的深入学习和实践,开发者将能够运用Swift编写高效且安全的应用程序。
swift技术的个人学习笔记
小马哥swift入门到精通学习笔记
在"RNStudyNotes-master"这个压缩包中,可能包含了作者对于这两种技术结合使用的实践经验、代码示例和学习心得,对于想要深入了解Swift与React Native集成的开发者来说,是一份宝贵的学习资源。