Swift入门

来源:互联网 发布:鬼吹灯怎么样 知乎 编辑:程序博客网 时间:2024/06/05 19:26

一、Swift与OC的区别

1、创建是选择Swift语言

2、Swift中不区分.h.m,统一到.swift中,既Swift中swift文件声明和实现不在分开创建

3、导入类名、框架:

     不需要导入类名,所有的类名都是公开的可以直接访问到 。

     直接导入框架的名字,例如:import UIKit

4、OC程序入口是main函数 

  Swift的程序入口:代码是从上往下执行,@UIApplicationMain是程序的主入口

5、class用来声明类

   class后面是类名:冒号后面是父类,父类后面导入代理协议:在父类后面继续添加,写上代理协议的名字

例如:var window: UIWindow?Swift声明一个变量(属性)

6、func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool:func用来表示方法的

7、

变量常量的声明

var:声明一个变量

let:声明一个常量

声明公式

OC:数据类型名字 =

Swiftvar名字:数据类型 =

       let 名字:数据类型 =

Switf:语句结束之后,可以不写分号,但是如果一行有多条语句,就必须添加分号

Switf:也支持中文作为变量名(支持中文的编码格式)

字符串可以通过+拼接


如果声明的对象是变量,但是并没有去改变这个变量的值,系统会提示,可以声明成常量


Xcode7.3Swift2.2)之后 ++Swift3中弃用,改成+=


Swift:自动推断数据类型,如果没有告诉变量的数据类型,会自动推断他的类型


Switf:不同的数据类型,不允许计算


数据类型转换,数据类型(要转换的变量)


如果声明变量的时候,不想在声明的时候去赋值,必须添加上变量的数据类型(因为没有推断的依据,推断不出数据类型)



Switf 中禁止不同数据类型进行计算

拼接字符串->直接使用+拼接


Swift代码,格式要特别工整



方法的定义和调用

fanc定义方法


OC写法

- (void)viewDidLoad{

}

swift写法

func viewDidLoad(){

}


oc:

- (void)viewDidAppear:(BOOL)animated{

}


swift

func viewDidAppear(animated: Bool) {


}


OC

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


return YES;

}


swift:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

return true

}


区间:

闭合区间 区间

半闭合区间


1 2 3 4 5

全闭合区间1...5


1 2 3 4 5

半闭合区间1..5


Swift中提倡使用区间



代码:


import UIKit


@UIApplicationMain

class AppDelegate:UIResponder, UIApplicationDelegate {


    var window:UIWindow?

    func application(application:UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {

//声明一个变量

        let名字:NSString ="明天,你好"

// 输出。拼接字符串

        print((名字as String) +"蒲公英的约定")

        

//        var age:Int = 18

//        age = 18+10

//        age+=1

//        print(age)

        

        

        let height =180

        

        print(height)

        

        let name ="九九"

        print(name)

//        相同数据类型可以相加

//        var age = 18.4

//        age = age+0.6

//        print(age)

        

        let age =18

        let yaerAge :Float =Float(age) + 0.5

        print(yaerAge)

//        Int(yaerAge)float类型转换成int类型

        

  //MARK:方法的调用

        方法名字()

       

        loadData()

        

        无返回值大餐("你好")

        

       print(有参有返回值("055346",参数2:" 8oijkm"))

        print(sum(10, b:10))

        

//        调用UIVie里面的init

//        Switf中调用其他类里面的方法,用.来调用

        

//        快捷创建一个对象:MyView() init

//        创建带有frame:MyView(frame: CGRectMake(0, 0, 300, 400))

        /*

        let view :MyView = MyView(frame: CGRectMake(0, 0, 300, 400))

        view.backgroundColor = UIColor.redColor()

        

        window!.addSubview(view)

*/

        

        window =UIWindow.init(frame:UIScreen.mainScreen().bounds)

        window?.backgroundColor =UIColor.yellowColor()

        

        let rootVC:UITabBarController =UITabBarController.init()

        

        let titles = ["","",""]

        

        

        //        数组初始化没有@

        rootVC.viewControllers = [UINavigationController.init(rootViewController:LearnViewController()),UINavigationController.init(rootViewController:DrawViewController()),UINavigationController.init(rootViewController:UserViewController())]

        

        

//        for (var i=0; i<rootVC.viewControllers?.count;i+= 1){

//            

//        }

       /*

        for (var i =0; i<rootVC.viewControllers?.count;i++){

        

            let vc:UIViewController = rootVC.viewControllers![i]

            vc.title = titles[i]

        }

*/

       /* int i = 0;

        for UIViewController *vc in rootVC.viewControllers {

            vc.titlt = titles[i];

            i++;

        }

*/

        var i =0

        for vcin rootVC.viewControllers! {

            vc.title = titles[i]

            i += 1

        }

        

//        区间

//        for i in 0 .. rootVC.viewControllers!.count{

//        

//        

// 

//            

//        }

        

        window?.rootViewController = rootVC


        window?.makeKeyAndVisible()

        returntrue

    }


//MARK:-------创建一个无返回无参的函数----


    func 方法名字 () {

    

    print("无返回无参的函数")

        

    }

   

    func loadData () {

    print("正在加载数据......")

    

    }

//    MARK:-----无返回值带参-----

    func 无返回值大餐 (参数名:NSString) {

    

        print(参数名)

        

    }

//    MARK:-----有参有返回值---

    func 有参有返回值 (参数名:NSString,参数2:NSString) -> NSString{

    return"返回值类型相同的数据"

    }

    

    

    func sum (a:Int,b:Int) ->Int{

    return a + b

    }

    

    func 创建更控制器(){

//创建UITabBarController

        let rootVC:UITabBarController =UITabBarController.init()

        

        let titles = ["","",""]

//        数组初始化没有@

        rootVC.viewControllers = [UINavigationController.init()]

        window?.rootViewController = rootVC

        

    }




0 0