自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 iOS中为什么block用copy来修饰

1. Block的声明和线程安全 Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非ARC下返回Block)。 另一个需要注意的问题是关于线程安全,在声明Block属性时需要确认“在调用Block时另一个线程有没有可能去修改Block?”这个问题,如果确定不会有这种情况发生的话,那么

2015-11-28 22:29:11 1863

原创 GCD和Block

gcd使用block注意事项: 1、block 在实现时就会对它引用到的它所在方法中定义的栈变量进行一次只读拷贝,然后在 block 块内使用该只读拷贝; 2、非内联(inline) block 不能直接访问 self,只能通过将 self 当作参数传递到 block 中才能使用,并且此时的 self 只能通过 setter 或 getter 方法访问其属性,不能使用句点式方法。但内联 blo

2015-11-28 22:13:40 871

原创 在子线程中使用runloop,正确操作NSTimer计时的注意点 三种可选方法

1、第一种方法 + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 2、第二种方法 NSThread *thread = [[NSThread al

2015-11-26 19:40:40 987

原创 iOS中的CoreData的使用(详解)

Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。    (1)NSManagedObjectModel(被管理的对象模型)            相当于实体,不过它包含 了实体间的关系     (2)NSManagedObjectContext(被管理的对象上下文)

2015-11-23 19:14:37 622

原创 教大家一个在自定义的View里面不写block,delegate,Notification快速刷新UI的方法!

//得到此view 所在的viewController - (UIViewController *)viewController {     for (UIView* next = [self superview]; next; next =          next.superview) {         UIResponder* nextResponder = [n

2015-11-20 10:41:04 614

原创 关于3种方式写多线程的一些理解

NSTread NSLog(@"当前是否处于主线程:%d",[NSThread isMainThread]); //获取主线程     [NSThread mainThread]; //创建线程方法     [NSThread detachNewThreadSelector:@selector(thread1) toTarget:self with

2015-11-20 10:34:28 594

原创 block在ARC和MRC中的区别

block在ARC和MRC中的区别

2015-11-20 10:24:23 819

原创 iOS远程推送原理流程图

iOS远程推送原理流程图

2015-11-20 10:18:49 656

原创 RunTime和RunLoop

RunTime和RunLoop的原理

2015-11-20 10:07:13 1009

原创 Sqlite语句和CoreData

Sqlite3的简单SQL语句创建表CREATE TABLE Test (name varchar(100), age integer); 判断表是否存在,不存在才会创建CREATE TABLE IF NOT EXISTS  Test (name varchar(100), age integer) 查询表SELECT * FROM Test; 条件查询表SELECT * FROM Test WH

2015-11-20 09:39:44 675 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除