摘要: 今天讲解两种方式自定义UIButton(文字在左边,图片在右边) 1、创建一个类继承自UIButton,从写UIButton的- (CGRect)titleRectForContentRect:(CGRect)contentRect和- (CGRect)imageRectForContentRect 阅读全文
posted @ 2016-10-18 13:49 夜晚看日出 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 这次项目中遇到了一个单例创建不严格造成了的问题。简单说来就是在有的地方使用了alloc创建了多个实例,当然如果严格按照接口的方法调用是不会有问题的,但是如果项目碰到有不太熟悉的人使用时在处理时就会出现使用其它的方法来创建实例,比如说用alloc,这样本打算使用相同的一个实例成了多个而达不到做这个模式 阅读全文
posted @ 2016-10-14 10:32 夜晚看日出 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 先来看一下代码: 执行结果: 会发现在异步执行中如果testStr改变了,那么异步线程里的testStr也会改变这样就没法保证异步对资源独占操作 如果在异步block里创建一个str赋值如下代码: 执行结果: 这样新的string就不会受到外部改变的影响,但是如果在这个赋值时刻self.asStr已 阅读全文
posted @ 2016-10-14 09:25 夜晚看日出 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 今天来讲一下cocoapods制作,网上教程很多,就不再讲理论,直接操作: 1、创建仓库: 2、将仓库克隆本地: 3、创建.podspes文件,此处命名为CZCTestCode 4、在桌面CZCTestCode目录中创建工程(此处命名为CZCTestCode),创建共享的类 5、编辑podspec文 阅读全文
posted @ 2016-10-13 20:55 夜晚看日出 阅读(2618) 评论(0) 推荐(0) 编辑
摘要: 一、RunLoop的定义 当有持续的异步任务需求时,我们会创建一个独立的生命周期可控的线程。RunLoop就是控制线程生命周期并接收事件进行处理的机制。 RunLoop是iOS事件响应与任务处理最核心的机制,它贯穿iOS整个系统。 Foundation: NSRunLoopCore Foundati 阅读全文
posted @ 2016-09-23 18:30 夜晚看日出 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 创建target有两种方式, 1>.是通过新建target可以通过File-->New-->Target,然后选择其中一个模板来创建,app类型的target进行创建 2>.另一种方法是通过对原有的target做duplicate,复制一份 今天主要讲第二种方式创建target过程: 1、创建工程命 阅读全文
posted @ 2016-09-23 11:42 夜晚看日出 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 1、首先在模拟器上运行我们的app程序 2、执行以下命令: (1)上面命令最后一个路径(/Users/YDZ/Desktop/app.zip)是文件压缩包输出路径 (2)再来说一下命令里面的 * 的问题。当我们打开自己本地的~/Library/Developer/Xcode/DerivedData/ 阅读全文
posted @ 2016-09-19 09:20 夜晚看日出 阅读(1364) 评论(1) 推荐(0) 编辑
摘要: Mac OS X 10.6及iOS4.0之后导入了可以使全体线程更高效运行,并且使并行处理应用更易开发的架构,GCD(Grand Central Dispatch),同时引入的还有Run Loop,线程(包括Cocoa和POSIX)和Operation。GCD拥有非常轻量级的工作单元和并发方式,并且 阅读全文
posted @ 2016-09-18 10:59 夜晚看日出 阅读(866) 评论(0) 推荐(0) 编辑
摘要: FMDBMigrationManager 是与FMDB结合使用的一个第三方,可以记录数据库版本号并对数据库进行数据库升级等操作。首先要集成FMDB和FMDBMigrationManager,建议使用cocoapods,这里不再多说。根据官方文档的解释,有两种方法实现升级,我们一个一个的解释。先说第一 阅读全文
posted @ 2016-09-14 18:45 夜晚看日出 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 证书 阅读全文
posted @ 2016-09-13 18:24 夜晚看日出 阅读(6396) 评论(0) 推荐(0) 编辑