swift

最近在看swift,有一些經驗,想和你們分享,也寫了個工資計算的小項目,已上線,計算工資超準的,,你們有興趣的,能夠下載看看https://itunes.apple.com/cn/app/個稅小會計-您貼心的個稅小助手/id1260843653?mt=8swift

一、定義變量與常量閉包

(1)swift和oc仍是有些差距的,好比對變量和常量的定義, Objective-C 中,任何數字,單個字符或者字符串一般都稱爲常量。而swift中不可改變的爲常量,用let 修飾,可使NSString、NSArray、NSDictionnary也可使NSMutableString、NSMutableArray、NSMutableDictionary。app

(2)Objective-C 中都是先寫類型  而後在寫變量名,swift中能夠不用謝類型,賦值爲何類型,就是什麼類型spa

①如:let num = 0那麼num就是int類型    orm

點擊option+單擊num將顯示num的類型blog

②let num = 0.0  num就是double類型,swift中double比float用的多ci

③let num = "abc"  num就是String類型字符串

 

④ let num = ["1" : "2"] num是字典string

 (3)用let定義是常量,不能夠再改變,用var定義的是變量,能夠改變it

二、聲明屬性

oc 中聲明屬性都是用@property,swift中var num = Double() 或 var num = 0.0

(1)swift建立block,採起閉包的形式

 //建立block

    typealias changUserName = (MJCityModel) ->()

typealias block名 = (參數類型)->(返回值類型)

    //聲明block屬性

    var changText: changUserName?

// block 的使用

 weak var weakSelf = self

        let cityVC = MJCityTableViewController.init(style: UITableViewStyle.plain)

        cityVC.cityArray = self.cityArray as? Array<MJCityModel>

        cityVC.changText = {(city) ->Void in

            weakSelf?.cityModel = city

            weakSelf?.leftBtn.setTitle(city.name, for: UIControlState.normal)

            self.countAction()

            print("")

        

        }

        self.navigationController?.pushViewController(cityVC,animated: true)

block屬性名 = {(參數)-> 返回值類型 in

}

三、

①string與float、double轉換

   let cityName = "wo"

   let name = NSString.init(string: cityName).doubleValue

②float、double轉換爲string

 let name = NSString.init(string: cityName).doubleValue

  var new = String.init(format: "%.0f", name)

 四、for循環

for in

for i in 0..<10 {

printf(i)

打印0-9  是個數字
}

也能夠寫成

for _ in 0..<10 {

用下劃線代替i

 

}

 

for i in 0...10 {
printf(i)

打印0-10  是一個數字

 }

五、while循環

①while a < 10 {

printf(a)

a = a + 1//不能寫成a++,會報錯
}

②do   while

替換成repeat  while

repeat {

    print(b)

    b = b+1

}while b < 10

 六、引入頭文件

swift沒有區分.h  .m 文件,只有一個swift文件

因此直接在swift文件中引入頭文件便可

import CoreLocation

 

import Masonry

import MBProgressHUD

 七、接收協議,直接將協議寫在文件名後便可

class ViewController: UIViewController ,  UITableViewDelegate , UITableViewDataSource , MJTaxTableViewCellDelegate , CLLocationManagerDelegate{

相關文章
相關標籤/搜索