本篇主要讲解 Swift 中 Designated.Convenience和 Required 的使用: 在 OC 中 init 方法是非常不安全的,没人能够保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的的话,还可能会造成各种问题.Swift 强化了 designated 初始化方法的地位.swift 中不加修饰的 init 方法都需要在方法中保证所有非 Optional 得实例变量被赋值初始化,而在子类中也强制(显…
本篇分为两部分: 一.Swift中的可变参数函数 二.初始化方法的顺序 一.Swift中的可变参数函数 可变参数函数指的是可以接受任意多个参数的函数,在 OC 中,拼接字符串的函数就属于可变参数函数 NSString *name = @"Tom"; NSDate *date = [NSDate date]; NSString *string = [NSString stringWithFormat: @"Hello %@. Date: %@", name, date…
本篇分为两部分: 一.Swift中的方法嵌套 二.Swift中的命名空间 一.Swift中的方法嵌套 在 swift 中我们可以让方法嵌套方法,如: func appendQuery(var url: String, key: String, value: AnyObject) -> String { func appendQueryDictionary(url: String, key: String, value: [String: AnyObject]) -> String { //..…
本篇分为两部分: 一.Swift 中的字面量转换 二.Swift 中的下标 一.Swift 中的字面量转换 所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出自己的类型并未变量进行赋值的值.比如下面三个都称为字面量: let aNumber = let astring = "Hello" let aBool = true 在 Swift 中,Array 和 Dictionary 在使用简单的描述赋值的时候,使用的也是字面量,比如: let anArray = [,,…
本篇分为两部分: 1.Swift 中重载操作运算符的使用 2.Swfit 中 func 的参数修饰 1.Swift 中重载操作运算符的使用 与别的语言不同,Swift 支持运算符的重载,运算符指的是“+,-,%,*”等操作运算符,从而使一些操作更加简便. 在开发中,我们对于一些基本运算通常是这样写的: struct Vector2D { var x = 0.0 var y = 0.0 } let v1 = Vector2D(x: , y: ) let v2 = Vector2D(x: , y:…
本篇分三部分: 一.Struct Mutable方法 二.多元组(Tuple) 的使用 三.autoclosure 的使用 四.Optional Chain 的使用 一.Struct Mutable方法 直接上代码: struct User { var weight: Int var height: Int // 这里会报错 Left side of mutating operator isn't mutable:'self' is immutable // 因为 Struct 出来的变量是 i…
本篇分为两部分: 一.柯里化的基本使用 二.柯里化的使用场景 一.柯里化的基本使用 柯里化(Currying):也就是把接受多个参数的方法变换成接受第一个参数的方法,并且返回接受余下的参数并且返回结果的新方法. func addTwoNumbers(a: Int)(num: Int) -> Int { return a + num } 然后通过只传入第一个括号内的参数进行调用,这样将返回另一个方法 let addToFour = addTwoNumbers() let result = addT…
本篇分为两部分: 一.Playground的延时运行 二.Playground的可视化 一.Playground的延时运行 Playground 就是提供一个可以即时编译的类似 REPL 的环境,他为我们提供了一个顺序执行的环境,在每次更改其中代码后整个文件都会被重新编译,并清空原来的状态并运行. NSTimer 在默认的 Playground 中是不会执行的: class TestClass { @objc func callMe() { print("Hi") } } let ob…
PowerBI版本在持续的更新,这使得报表设计能够实现更多新的功能,您可以访问 PowerBI Blog查看PowerBI的最新更新信息,本文总结了PowerBI新版本的重要更新和设计技巧. 我的PowerBI开发系列的文章目录:PowerBI开发 一,同步切片 开发人员在设计报表时,根据分析的需要把报表划分为不同的主题,每个主题独占报表的一个Page,而在这些Page上,一般会摆放相同的过滤器.过滤器也叫做切片(Slicer),提供了分析数据的视角. 用户切换Page查看报表时,希望通过相同的…
swift开发多线程篇 - 多线程基础 iOS 的三种多线程技术 (1)NSThread  使用NSThread对象建立一个线程非常方便 但是!要使用NSThread管理多个线程非常困难,不推荐使用 技巧!使用[NSThread currentThread]跟踪任务所在线程,适用于这三种技术 (2)  NSOperation/NSOperationQueue 是使用GCD实现的一套Objective-C的API 是面向对象的线程技术 提供了一些在GCD中不容易实现的特性,如:限制最大并发数量.操…