- 博客(16)
- 收藏
- 关注
转载 自定义UIButton
今天讲解两种方式自定义UIButton(文字在左边,图片在右边)1、创建一个类继承自UIButton,从写UIButton的- (CGRect)titleRectForContentRect:(CGRect)contentRect和- (CGRect)imageRectForContentRect:(CGRect)contentRect方法:- (CGRect)imageRe...
2016-10-18 13:49:00
140
转载 iOS中单例创建时不严格造成的问题和解决方法
这次项目中遇到了一个单例创建不严格造成了的问题。简单说来就是在有的地方使用了alloc创建了多个实例,当然如果严格按照接口的方法调用是不会有问题的,但是如果项目碰到有不太熟悉的人使用时在处理时就会出现使用其它的方法来创建实例,比如说用alloc,这样本打算使用相同的一个实例成了多个而达不到做这个模式的目的。关于单例模式的实现主要是static调用后存储空间不释放的特性使得实例在程序的...
2016-10-14 10:32:00
148
转载 iOS开发线程安全问题
先来看一下代码:- (void)viewDidLoad { [super viewDidLoad]; self.testStr = @"String initial complete"; [self performSelector:@selector(changeStr) withObject:nil afterDelay:0.5]; ...
2016-10-14 09:25:00
151
转载 制作自己cocoapods库
今天来讲一下cocoapods制作,网上教程很多,就不再讲理论,直接操作:1、创建仓库:2、将仓库克隆本地:git clone https://github.com/2360219637/CZCTestCode.git3、创建.podspes文件,此处命名为CZCTestCode$ pod spec create CZCTestCode...
2016-10-13 20:55:00
144
转载 iOS Runloop理解
一、RunLoop的定义当有持续的异步任务需求时,我们会创建一个独立的生命周期可控的线程。RunLoop就是控制线程生命周期并接收事件进行处理的机制。RunLoop是iOS事件响应与任务处理最核心的机制,它贯穿iOS整个系统。Foundation: NSRunLoopCore Foundation: CFRunLoop 核心部分,代码开源,C 语言编写,跨平台二、目的...
2016-09-23 18:30:00
133
转载 iOS开发设计多个target
创建target有两种方式,1>.是通过新建target可以通过File-->New-->Target,然后选择其中一个模板来创建,app类型的target进行创建2>.另一种方法是通过对原有的target做duplicate,复制一份今天主要讲第二种方式创建target过程:1、创建工程命名:CeShiTarget2、在TARGET中选中项目...
2016-09-23 11:42:00
129
转载 iOS 模拟器“安装”app
1、首先在模拟器上运行我们的app程序2、执行以下命令:ditto -ck --sequesterRsrc --keepParent `ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1` /Users/czc/Deskto...
2016-09-19 09:20:00
163
转载 iOS开发-NSOperation与GCD区别
Mac OS X 10.6及iOS4.0之后导入了可以使全体线程更高效运行,并且使并行处理应用更易开发的架构,GCD(Grand Central Dispatch),同时引入的还有Run Loop,线程(包括Cocoa和POSIX)和Operation。GCD拥有非常轻量级的工作单元和并发方式,并且由系统决定其最佳调度方式。这个时候出现了一个问题,NSOperation如何处理呢?...
2016-09-18 10:59:00
225
转载 FMDB数据库升级
FMDBMigrationManager 是与FMDB结合使用的一个第三方,可以记录数据库版本号并对数据库进行数据库升级等操作。首先要集成FMDB和FMDBMigrationManager,建议使用cocoapods,这里不再多说。根据官方文档的解释,有两种方法实现升级,我们一个一个的解释。先说第一种,添加文件的方式进行记录版本和升级操作,新建一个空白的项目,并创建一个数据库,也就是我们...
2016-09-14 18:45:00
200
转载 Xcode自动选择证书
从xcode3时代习惯了手动选择证书,即 Provisioning Profile和 Code Signing Identify.而随着团队扩大,应用量增多,需要管理的证书也越来越多,每次从长长的list中寻找需要的那个证书,心情都有点忧伤。而苹果也给出了更合适的解决方案,xcode 自动选择provisioning profile。这个方案的好处在于,更换证书、团队使用证书不同...
2016-09-13 18:24:00
563
转载 dispatch_block_t
通常我写一个不带参数的块回调函数是这样写的在 . h 头文件中定义类型typedef void (^leftBlockAction)();在定义一个回调函数-(void)leftButtonAction:(leftBlockAction)leftBlock;在.m 文件中 -(void)leftButtonAction:(leftBlock...
2016-09-08 14:48:00
184
转载 iOS中block循环引用问题
1、block是控制器对象的一个属性,则在block内部使用self将会引起循环应用typedef void(^TestBlock)();@interface SecondViewController ()@property (nonatomic, copy)TestBlock testBlock;@endself.testBlock = ^() {...
2016-08-26 19:06:00
89
转载 怎么去掉Xcode工程中的某种类型的警告
问题描述在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多多的警告,那么我们有没有办法去掉这些烦人的警告,不然一个工程几百个警告,你看着怎么都不爽吧。我们怎么去掉警告呢?1. 最直接、最一劳永逸、最安全的方式,直接找到警告的那段代码,改为不警告。这个方式最安全。...
2016-07-11 19:24:00
86
转载 RAC系统化学习
1、RACSignal: // 只要订阅者调用sendNext,就会执行nextBlock // 只要订阅RACDynamicSignal,就会执行didSubscribe // 前提条件是RACDynamicSignal,不同类型信号的订阅,处理订阅的事情不一样 //创建信号,此时信号是冷信号,并不能发送数据RACSignal *signal = [R...
2016-07-09 10:08:00
174
转载 runtime基础知识
Runtime数据结构:在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的message方法的代码,而是向receiver发送一条message消息,这条消息可能由receiver来处理,也可能由转发给其他对象来处理,也有可能假装没有接收到这条消息而没有处理。其实[receiver message]被编译器转化为:id...
2016-07-07 21:24:00
117
转载 iOS新特性
//1、声明属性可以为空的三种写法:1、@property (nonatomic, copy, nullable)NSString *name;2、@property (nonatomic, copy)NSString *_Nullable name1;3、@property (nonatomic, copy)NSString *__nullable name2;...
2016-07-06 22:22:00
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人