zoukankan      html  css  js  c++  java
  • Swift语言 简明基础 代码演示样例

    开发环境:

    Mac。Xcode6.0


    下面内容均可创建ios common line项目来測试

    1、Hello World演示样例

    使用xcode创建新的common line项目,查看主文件main.swift,已经自己主动敲入println"HelloSwift"的代码了

    --------------------------------------------------------

    2 变量和常量
    var a = 1 //变量
    a = 10  //给变量赋值
    var b = 2 //变量
    let c = a+b //定义一个常量c。c的值等于变量a和变量b的和
    printLn(c) //打印c

    --------------------------------------------------------

    3 swift语言的类型
    var str = "hello" //无类型。即自己主动识别类型
    var s:String = "World"  //字符串类型
    var i:Int = 100  //int类型
    var words:String = "http://blog.csdn.net/taotao3686"//
    println(str)

    --------------------------------------------------------

    4 字符串连接
    var str = "hello "
    str = str + "xiangtao"
    str = str + 100  //错误,字符串和数字不能直接用+连接
    str = "(str),adasdf,(100)"  //正确,swift连接字符串的方法
    var i = 200
    str = "(str),adasdf,(i)" //正确,连接字符串和数字变量, 输出hello xiangtao,adasdf,200
    println(str)

    --------------------------------------------------------

    5 数组
    var arr = ["hello", "xiangtao", 100, 2.3]  //swift数组
    println(arr)
    var arr1 = [] //空数组
    var arr2 = String[]() //仅仅能存放String的空数组

    --------------------------------------------------------

    6 字典Dict的使用方法
    var dict = ["name":"xiangtao","age":"16"]
    dict["sex"]="female"
    println(dict)
    println(dict["name"])
    --------------------------------------------------------

    7 循环
    //遍历数组
    var arr = String[]()  //定义一个空的字符串数组

    //for遍历数组 方式1
    for index in 0..100{
      arr.append("item (Index)")   //给数组赋值
    }
    println(arr)

    //for遍历数组 方式2
    for value in arr{
      println(value)
    }

    //while遍历数组
    var i = 0
    while i<arr.count {
      println(arr[i])
      i++
    }
    //遍历字典
    var dict = ["name":"xiangtao","age":"16"]
    for (key,value) in dict{
      println("(key),(value)")
    }

    --------------------------------------------------------

    8 流程控制(推断分支)

    //打印100以内偶数
    for index in 0..100{
      if index%2==0{
        println(index)
      }
    }
    //可选变量(O-C中没有)
    var myName:String?

    ="xiangtao" //注意问号
    myName = nil
    if let name=myName{  //为空则不运行
      println("hello (name)")
    }

    --------------------------------------------------------

    9 函数
    func sayHello(name:String){
      println("hello (name)")
    }
    sayHello("xiangtao")
    //swift能够返回多个值
    func getNums()->(Int,Int){
      return (2,3)
    }
    let (a,b) = getNums()
    println(a)  //输出2
    //函数当做变量来使用
    var fun = sayHello
    fun("zhangsan")
    //也支持函数闭包(函数内部写函数)
    ..

    --------------------------------------------------------

    10 面对对象
    class Hi{
      func sayHi(){
        println("hi xiangtao")
      }
    }
    var hi = Hi()
    hi.sayHi()
    //继承
    class Hello:Hi{

    }
    var h = Hello()
    h.sayHi()
    //重写
    class Hello2:Hi{
      var _name:String
      //构造方法
      init(name:String){
        self._name = name
      }

      override func sayHi(){
        println("hello (self._name)")
      }
    }
    var h2 = Hello2(name: "zhangsan")
    h.sayHi()

    --------------------------------------------------------

    11 开发ios项目
    显示一个网页,新建项目选择IOS->Application->Single View Application
    改动ViewController.swift
    Web View拖到ViewController

    //改动viewDidLoad函数
    override func viewDidLoad(){
      @IBOutlet var wv:UIWebView
      wv.loadRequest(NSURLRequest(URL:NSURL(string:"http://blog.csdn.net/taotao3686")))
    }

    
    ----------------------------------------------------------
    Swift开发人员官方站点
    
  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7340017.html
Copyright © 2011-2022 走看看