在做移动端开发时,难免会用到tableview 来渲染列表数据,像这样:
实现也很简单,先贴出code:
上主是我的牧者,我实在一无所缺
在做移动端开发时,难免会用到tableview 来渲染列表数据,像这样:
实现也很简单,先贴出code:
##关于单例
. 单例必须是唯一的,所以它才被称为单例。在一个应用程序的生命周期里,有且只有一个实例存在。单例的存在给我们提供了一个唯一的全局状态。比如我们熟悉的NSNotification,UIApplication和NSUserDefaults都是单例。
. 为了保持一个单例的唯一性,单例的构造器必须是私有的。这防止其他对象也能创建出单例类的实例。感谢所有帮我指出这点的人
. 为了确保单例在应用程序的整个生命周期是唯一的,它就必须是线程安全的。当你一想到并发肯定一阵恶心,简单来说,如果你写单例的方式是错误的,就有可能会有两个线程尝试在同一时间初始化同一个单例,这样你就有潜在的风险得到两个不同的单例。这就意味着我们需要用GCD的dispatch_once来确保初始化单例的代码在运行时只执行一次。
|
|
|
|
Swift 开发中,省去storyboard,应用UITabBarController也可以生成:
首页写AppDelegate.swift
:
YMTabBarController.swift:
|
|
这里面有几个知识点:
###如何通过字符串创建类对象
1. 在swift中打印对象时,会发现在类型前面总会有命名空间 .+类名
2. 在swift中用字符串生成类对象就需要拼接成这样的格式,才能成功生成类
3. 注意,命名空间不要加特殊符号,不然依然无法获取控制器类
闭包是自包含的函数代码块,可以在代码中被传递和使用。
闭包可以捕获和存储其所在上下文中任意常量和变量的引用。这就是所谓的闭合并包裹着这些常量和变量,俗称 闭包。Swift 会为您管理在捕获过程中涉及到的所有内存操作。
Swift 的闭包表达式拥有简洁的风格,并鼓励在常见场景中进行语法优化,主要优化如下:
##闭包表达式语法(Closure Expression Syntax)
闭包表达式语法有如下一般形式:
demo:
##声明常量和变量let
声明的是常量 var
声明变量
e.g.
多个变量,
分隔var x = 0.0, y = 0.0, z = 0.0
##类型标注var welcomeMessage: String
注:
:
后有空格
welcomeMessage变量现在可以被设置成任意字符串:welcomeMessage = "Hello"
常量一经声明就不允许改值,否则编译器报错
同ruby 语法类似 ,swift 在字符串中可这样输出变量||常量
将常量或变量名放入圆括号中,并在开括号前使用反斜杠将其转义
|
|
##属性观察器
属性观察器监控和响应属性值的变化,每次属性被设置值的时候都会调用属性观察器,甚至新的值和现在的值相同的时候也不例外
可以为属性添加如下的一个或全部观察器:
|
|
##泛型函数
|
|