随笔分类 - Objective-C Develop
swift 之 as、as!、as?
摘要:1,as使用场合(1)从派生类转换为基类,向上转型(upcasts) 1 class Animal {} 2 class Cat: Animal {} 3 let cat = Cat() 4 let animal = cat as Animal (2)消除二义性,数值类型转换 1 let num1
阅读全文
AutoLayout 的一些坑
摘要:1. 给一个 UIView 加约束,希望它显示在 UITableView 的底部,但是它不显示,它会出现在 UITableView 的顶部。 错误代码: 如图: 原因可能是因为 UITableView 的滚动导致的,与 UIScrollView 有一致的地方。 解决: 可以显示在 self.view
阅读全文
Git 常用的命令
摘要:基本内容: 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫stage, 或index。一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 理解上述后,使
阅读全文
Git 遇到的坑
摘要:1. 无法切换分支 原因:ViewController.swift 中的文件提交后,commit 没有提交成功,需要提交成功,才能切换到其他支。 1.1 git add 几种区别 注意:git init后新加的文件,先要git add才能纳入git版本库管理,否则新加文件为未跟踪状态。即:与 git
阅读全文
iOS 配置
摘要:1.git的配置 使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码。如果使用SSH,就可以记住用户名,并创建属于自己的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦。下面将介绍如何创建SSH Keys并将公钥加到GitHub账户中,使用SSH Key
阅读全文
Swift Optional
摘要:拆包和解包的原因: 其实所谓的 nil 就是 Optional.None, 非 nil 就是Optional.Some, 然后会通过Some(T)包装(wrap)原始值,这也是为什么在使用 Optional 的时候要拆包(从 enum 里取出来原始值)的原因, 也是 PlayGround 会把 Op
阅读全文
cocoapods 配置
摘要:二、CocoaPods 安装 CocoaPods可以方便地通过Mac自带的RubyGems安装。 打开Terminal(Mac电脑自带的终端): (1).设置ruby的软件源 这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下:
阅读全文
Weak 和 Strong
摘要:介绍: ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切 注意:ARC 是编译器特性,而不是 ios 运行时特性(除了weak指针系统),它
阅读全文
CocoaPods使用
摘要:测试CocoaPods是否安装成功: 在终端输: pod search + 开源类库的名字 如: 若安装成功会出现下图所示: 如果安装失败,点击回车后会报一行红色错误,一般遇到这种情况最笨的办法就是重新安装。 简单实用创建一个CocoaPods 1)在桌面上创建一个工程Demo(以Xcode7.3.
阅读全文
内存管理机制
摘要:Objective-C中提供了两种内存管理机制MRC(MannulReference Counting)和ARC(Automatic Reference Counting),分别提供对内存的手动和自动管理,来满足不同的需求. ARC: ARC是Auto Reference Counting的缩写,即
阅读全文
NSCharacterSet
摘要:NSCharacterSet 对于string处理,在IOS生态系统中经常用到且用错的重要组成部分:NSCharacterSet。下面详解一下: NSCharacterSet ,以及它的可变版本NSMutableCharacterSet,用面向对象的方式来表示一组Unicode字符。它经常与NSSt
阅读全文
Swift 了解(3)
摘要:类(Classes) 假设你是一个建筑师,你刚刚签了一个合同,要在一个新的小区修建20个相似的房子。在你派出建筑工队之前,你必须要画一个房子的设计图。这份设计图将会展现房子的外表和功能。把这份设计图当做模板,就能制作出20个房子各自的设计图了。使用设计图或者模板来建造物品能够节省时间,让后期维护工作
阅读全文
Block
摘要:1.Block简介 Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等。用过GCD就知道Block的精妙之处。 Block是一种比较特殊的数据类型。它可以保存一段代码,在合适的时候取出来调用。 2.Block 底层实现的原理: 用Sublime Text建立一个Objecti
阅读全文
浙公网安备 33010602011771号