码迷,mamicode.com
首页 > 编程语言 > 详细

swift

时间:2017-08-20 21:20:27      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:for循环   source   block   个数   sar   nes   字符   val   2-2   

最近在看swift,有一些经验,想和大家分享,也写了个工资计算的小项目,已上线,计算工资超准的,,大家有兴趣的,可以下载看看https://itunes.apple.com/cn/app/个税小会计-您贴心的个税小助手/id1260843653?mt=8

1、定义变量与常量

(1)swift和oc还是有些差距的,比如对变量和常量的定义, Objective-C 中,任何数字,单个字符或者字符串通常都称为常量。而swift中不可改变的为常量,用let 修饰,可以使NSString、NSArray、NSDictionnary也可以使NSMutableString、NSMutableArray、NSMutableDictionary。

(2)Objective-C 中都是先写类型  然后在写变量名,swift中可以不用谢类型,赋值为什么类型,就是什么类型

①如:let num = 0那么num就是int类型   技术分享 

点击option+单击num将显示num的类型

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

技术分享

③let num = "abc"  num就是String类型

技术分享

 

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

 (3)用let定义是常量,不可以再改变,用var定义的是变量,可以改变

2、声明属性

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

}

3、

①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)

 4、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  是一个数字

 }

5、while循环

①while a < 10 {

printf(a)

a = a + 1//不能写成a++,会报错
}

②do   while

替换成repeat  while

repeat {

    print(b)

    b = b+1

}while b < 10

 6、引入头文件

swift没有区分.h  .m 文件,只有一个swift文件

所以直接在swift文件中引入头文件即可

import CoreLocation

 

import Masonry

import MBProgressHUD

 7、接收协议,直接将协议写在文件名后即可

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

swift

标签:for循环   source   block   个数   sar   nes   字符   val   2-2   

原文地址:http://www.cnblogs.com/making/p/7401067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!