swift-学习之路,字典、数组、循环-控制流

//
//  ViewController.swift
//  UIWindow


import UIKit
import Foundation
class ViewController: UIViewController {

    
    @IBOutlet weak var usrNameLabel: UITextField!
    
    
    @IBOutlet weak var passwdLabel: UITextField!

    @IBAction func btnTouch(sender: AnyObject) {
        
        println("usrName is \(self.usrNameLabel.text)");
        println("passwdLabel is \(self.passwdLabel.text)");
        
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        println("Hello World");
        let label = "The width is"
        let width = 90
        let widthLabel = label + String(width)
        println("widthLabel is \(widthLabel)")
        
        var shoppingList = ["catfish","water","tulips","blue paint"]
        shoppingList[1] = "bottle of water"
        
        var occupations = [
            "Malcolm":"Captain","Kaylee":"Machanic",]
        occupations["Jayne"] = "Public Relation"
        
        //初始化一个空的数组
        let emptyArray = [String]()
        //初始化一个空的字典
        let emptyDictionary = [String : Float]()
        
        
        
        let individualscores = [75,43,103,87,12]
        
        var teamscore = 0
        //循环语句的使用
        for score in individualscores{
            if(score > 50)
            {
                teamscore += 3
            }
            else
            {
                teamscore += 1
            }
        }
        print(teamscore)
        
        
        var optionalString:String? = "Hello"
        optionalString == nil
        
        var optionalName:String? = "John Appleasee"
        var greeting = "Hello"
        
        /*if let name = optionalName{
            greeting = "Hello,\(name)"
        }
        */
        //如果可选值为nil 则不会执行代码块的内容
        
        /*
        optionalName = nil
        if let name = optionalName{
            greeting = "Hello \(name)"
        }
        print(greeting)
        */
        
        optionalName = nil
        if let name = optionalName{
            greeting = "Hello \(name)"
        }else{
            greeting = "-执行的第二句代码-"
        }
        print(greeting)
        
        
        /**
            switch 支持任意类型的数据以及各种比较操作-不限于整数和表达式
        //  不需要加break
        */
        
        
        let vegetable = "red pepper"
        
        switch vegetable{
            case "celery":
            let vegetableComment = "Add some raisins and make ants on a log."
            case "cucumber","watercress":
            let vegetableComment = "That would make a good tea sandwich."
        case let x where x.hasSuffix("pepper"):
            let vegetableComment = "Is it a spicy\(x)?"
        default:
            let vegetableComment = "Everything tastes good in soup."
        }
        
        
        /// 这里用于比较字典中的最大值并且把变量是哪种类型的输出来
        let interestingNumbers = [
            "Prime":[2,3,5,7,11,13],"Fibonacci":[1,1,2,8],"Square":[1,4,9,16,25],]
        var largest = 0
        var name:String?
        for (kind,numbers) in interestingNumbers{
            for number in numbers{
                if number > largest{
                    largest = number
                    name = kind
                }
            }
        }
        println(largest)
        println(name)
        
        /**
        1+2+....+100;
        */
        //这里用起来十分的方便,程序不运行会有提示,可以试试如果i的值不++ 可以观察一下
        var sum = 0
        var i = 0
        while i <= 100{
            sum += i
            i++
        }
        print(sum)
        
        
        /**
        ..< 和 ... 表示范围
        ..< 不包含上届 ...包含上届 
        */
        
        var firstForLoop = 0
        for i in 0..<3{
            firstForLoop += i
        }
        print(firstForLoop)
        
        var secondForLoop = 0
        for var i = 0;i < 3; ++i{
            secondForLoop += i;
        }
        print(secondForLoop)
        //self.usrNameLabel.
        // Do any additional setup after loading the view,typically from a nib.
    }

    
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // dispose of any resources that can be recreated.
    }


}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...