标签: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{
标签:for循环 source block 个数 sar nes 字符 val 2-2
原文地址:http://www.cnblogs.com/making/p/7401067.html