基础


tuples


// Tuples
var address = (number: 142,street: "Evergreen Terrace") //起名
print(address.number)
print(address.street)
address.0 = 167
print(address.0) //顺序
print(address.1)

let (house,street) = address //赋值
print(house)
print(street)






strings



// Strings
var hello = "Hello"
hello = hello + " World"
print(hello)
// String interpolation
print("I live at \(house),\(street)") //替换字符串的内容
let str = "I live at \(house + 10),\(street.uppercaseString)";print(str) //一行多句使用分号






numeric


// Numeric types and conversion
var thousands = 1_000 //千元的分隔符(1,000)
var radius = 4
let pi = 3.14159
var area = Double(radius) * Double(radius) * pi  //类型转换问题







for循环


// For loops and ranges
let greeting = "Swift by Tutorials Rocks!"
var range = 1...5                           //range是一种类型
for i in range {
  print("\(i) - \(greeting)")
}







while循环



// While loops
var i = 0
while i < 5 {
  print("\(i) - \(greeting)")
  i++
}





if条件


// If statements
for i in 1...5 {
  if i == 5 {
    print(greeting.uppercaseString)
  } else {
    print(greeting)
  }
}








switch


var direction = "up"

switch direction {   //类型问题
case "down":
  print("Going Down!")
case "up":
  print("Going Up!")
default:
  print("Going Nowhere")
}

var score = 570

var prefix: String
switch score {
case 1..<10:         //类型问题
  print("novice")
case 10..<100:
  print("proficient")
case 100..<1000:
  print("rock-star")
default:
  print("awesome")
}






optional


var str: String! 
println(str)

if let unwrappedStr = str {   //解包的方式 
  println("Unwrapped! \(unwrappedStr.uppercaseString)")
} else {
  println("Was nil")
}

if str != nil {     //解包前的防御式
  str = str.lowercaseString
  println(str)
}

var maybeString: String? = "Hello Swift by Tutorials!"
let uppercase = maybeString?.uppercaseString 








array


var array: [Int] = [1,2,3,4,5]
println(array[2])
array.append(6)
array.extend(7...10)
println(array)

// Challenge solution:
array.removeAtIndex(8)
array.removeAtIndex(6)
array.removeAtIndex(4)
array.removeAtIndex(2)
array.removeAtIndex(0)
println(array)

// Challenge solution:  添加任意类型元素的数组
var anyArray: [AnyObject] = []
anyArray.append(1)
anyArray.append("1")
println(anyArray)






dictionary


var dictionary: [Int:String] = [1: "Dog",2: "Cat"]
println(dictionary[1])
dictionary[3] = "Mouse"
dictionary[3] = nil   //相当于删除3
println(dictionary)

// Challenge solution:
dictionary.updateValue("Elephant",forKey: 2) //更改
println(dictionary)

println(dictionary[1])

if let value = dictionary[1] {   //从字典取出的为optional类型 拆包
  println("Value is \(value)")
}



set


var setA: Set = [1,3]

setA.insert(1)
println(setA)

setA.remove(1)
println(setA)

var setB: Set = [2,6]
println(setA.intersect(setB))  //交集

// Challenge solution:
let divisibleBy3: Set = [3,6,9]
let divisibleBy2: Set = [2,8]
let union = divisibleBy2.union(divisibleBy3) //并集


再探Swift基础的更多相关文章

  1. ios – 数组的数组.仅存储副本

    我需要存储一个Int数组的数组,用于有序重复.例:>给定数组:mainArray=[7,7,3,2,1,5,5]现在我需要创建一个int数组的数组.例:这是我有的:解决方法您可以使用reduce方法.减少工作如何?reduce将封闭中的逻辑应用于空的2D数组的整数和数字的第一个elm.然后再次应用上一次迭代的结果和第二个整数数组…if是否检查在结果中添加的最后一个数组中的数字是否等于当前检查的整数.如果这样,那个整数被添加到该数组.否则,只会添加一个仅包含新整数的数组.测试

  2. Swift:Generators 与 Sequences 浅析

    前言Generators与Sequences构成了Swift式循环。Generators提到数组我们就会想到遍历,一般的遍历可能都是从头到尾进行的。这时候Generators就可以派上用场了。举个倒序索引的generator:好处是啥好处是啥,我的总结是把一个很抽象遍历模式使用Generators的方式剥离出来,当你对当前的迭代循环方式不爽的时候只需要修改一下当前的这个generator。SequencesGenerators在循环过程中每个元素提供的服务是一次性的。

  3. 再探Swift基础

    基础tuplesstringsnumericfor循环while循环if条件switchoptionalarraydictionaryset

  4. swift排序算法和数据结构

    vararrayNumber:[Int]=[2,4,216)">6,216)">7,216)">3,216)">8,216)">1]//冒泡排序funcmaopao->[Int]{forvari=0;i

  5. Arrray 中的map和filter 函数的使用

    swift中的Array提供了两个很方便的函数map和filter使用map可以建立一个从A数组到B数组的一个映射,例如:我们给数组的每个元素后添加一个testvararray=["1","2","3"];printlnfuncfx->String{returnstr+"test"}我们还可以使用filter函数按条件过滤一些不符合条件的数组例如:vararray=[1,4,10];array=array.filterprintln//结果[4,10]另外一种写法:array.filter

  6. Swift 2.0学习笔记Day 17——Swift中数组集合

    数组中的集合元素是有序的,可以重复出现。varstudentList1:ArrayvarstudentList2:[String]声明的Array还不能用,还需要进行初始化,Array类型往往在声明的同时进行初始化。示例代码如下:varstudentList1:Array=["张三","李四","王五","董六"]varstudentList2:[String]=["张三","董六"]letstudentList3:[String]=["张三","董六"]varstudentList4=[String](

  7. Swift高级开发语言基础

  8. Swift关于Array的探讨

    当我们想向Array添加不同数据类型的元素时,可以这样做:这样我们便可以向Array添加任何数据类型的元素了,但是如果我们希望Array中只能添加特定几种类型的元素怎么办呢?这里提供一种思路:

  9. 《从零开始学Swift》学习笔记Day 17――Swift中数组集合

    数组中的集合元素是有序的,可以重复出现。,Array类型往往在声明的同时进行初始化。整个遍历过程与循环分不开,可以使用for-in循环。下面是遍历数组的示例代码:运行结果如下:张三李四王五Item1:张三Item2:李四Item3:王五欢迎关注关东升新浪微博@tony_关东升。

  10. Swift学习 数组

    1、计算数组的长度count:计算数组的长度2、判断数组是否为空isEmpty:判断数组是否为空3、在数组尾部添加元素append:在数组尾部添加元素4、通过下标修改数组元素的值5、数组的插入insert:通过insert和下标向数组中插入元素6、数组的删除7、数组的遍历8、数组的拼接

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部