ios
文章平均质量分 65
易北Alist
这个作者很懒,什么都没留下…
展开
-
[IOS Dev] 关于Data Persistence
不同存储数据的方式 User Default 储存在 Library/Preferences 文件夹 存在Documents文件夹 Property lists Object archives Other file types like text, image, etc SQLite3 Core Data User Default 简单的,像dictionary一样的api 把简单的数据存到硬盘 standard 是UserDefault的一个static property,用了Sing原创 2021-03-20 22:04:40 · 172 阅读 · 0 评论 -
[IOS Dev] 关于TableView
DataSource: 为TableView提供需要展示的数据 Delegate:响应用户指令,告诉这时TabelView应该做什么 都是使用protocol的delegate pattern 右击TableView, 拖动delegate到viewController ViewController是TableView的delegate property 同样的方式将dataSource拽到ViewController 为新的ViewController建一个class (Coco..原创 2021-03-13 22:08:44 · 144 阅读 · 0 评论 -
[IOS Dev] 关于IOS Design Pattern
IOS很广泛地用到了一些design pattern: MVC Delegation Notification Singleton Singleton Singleton是一种特殊的类,在当前进程中只有一个类的实例存在。在IOS中,整个app共同使用这一个实例 Singleton可以用来在app全局中共享数据和常用的方法 无论在运行时,app请求多少次,Singleton Class都会返回同一个实例 static shared object 普通class和singleton之间的区别,所有请求返回原创 2021-03-02 22:47:05 · 155 阅读 · 0 评论 -
[IOS Dev] 关于Strong Reference Cycle
Strong Reference Cycle class Person{ init(){ print("Initializing...") } deinit{ print("bye") } } let p1 = Person() //This will only print "Initializing..." var p2 : Person? = Person() p2 = nil print("something") //This time "bye" is also printed原创 2021-02-26 23:24:15 · 117 阅读 · 0 评论 -
[IOS Dev] 关于Protocols, Delegate, 和Closures
Protocols protocol定义了完成特定任务所需的method/properties/其他要求 protocol中没有实际的implementation 可以被class, structure, enumeration使用 满足protocol要求的type被称为“conform to that protocol” 相当于Java的interface,但java的interface可以有default implementation protocol Driveable{ func turnL原创 2021-02-23 22:42:09 · 117 阅读 · 0 评论 -
[IOS Dev] 关于Gesture Recognizer,新建Screen和Alert
文章目录Gesture Recognizer创建一个新的screen1 storyboard中新建screen2 新建view controller3 把storyboard和新viewController连在一起Alert Gesture Recognizer 在add components中搜索gesture,将需要的gesture recognizer拖动到相应的view上 注意,当我们想要一个view有gesture recognizer时,它在inspection panel侧边栏中的inter原创 2021-02-22 20:46:09 · 160 阅读 · 0 评论 -
[IOS Dev] 关于Connections
Connections 连接UI和View Controller Storyboard中其实是xml文件,但不要直接修改xml文件 还是使用crtl + 拖动的方式 Outlets: 获取或者修改组件的properties时,使用outlets outlet outlet collection IBOutlet: Interface Builder 声名的变量textField是implicitly unwrapped optional weak/strong: outlets都是weak ref原创 2021-02-14 00:45:00 · 176 阅读 · 0 评论 -
[IOS Dev] 关于Optionals
目录简介Access Optionals的四种方法Force UnwrappingImplicitly Unwrapped OptionalOptional BindingOptional ChainingDictionaryNil-Coalescing OperatorGuard Statement 简介 当一个变量可能为nil时,我们使用optional作为wrapper optional是一个generic data type //This raises an error: var firstName原创 2021-02-04 11:51:14 · 99 阅读 · 0 评论 -
[IOS Dev] 关于layout
这里写自定义目录标题Views屏幕可能发生的变化User InterfaceAutolayout三种添加constraints的方法constraints冲突 随着iphone的型号越来越多,在开发IOS应用时我们需要考虑不同型号的适配。autolayout是一种推荐的layout方法。 Views superview, subview 包含与被包含关系 一个superview可以有多个subview Clips to Bounds: 把subview在superview bounds外面的部分截掉原创 2021-02-04 11:20:32 · 133 阅读 · 0 评论