10 2015 档案
摘要:在iOS7以及以后有效:// base64编码- (NSString*)base64encode:(NSString*)str { // 1.把字符串转成二进制数据 NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; //...
阅读全文
摘要:base64的特点:编码之后,只有64个字符:a~z,A~Z,0~9,/,+.在加上一个辅助字符=.总共65个字符组成.文件一,前提 1.有一个demo.json文件. 2.在终端操作.二,编码 1.打开终端,cd到demo.json文件的当前文件夹. 2.输入命令:base64 demo....
阅读全文
摘要:线程同步: 多条线程,在同一条线上按照顺序执行.(互斥锁)同步,在当前线程执行任务.异步,另起线程执行任务.任务与队列 任务:执行什么操作 队列:用来存放任务 并发队列:可以让多个任务并发(同时)执行的队列.只能用于异步. 串行队列:在当前线程中,将任务按顺序一个一个的执行.总结:...
阅读全文
摘要:// 加锁 @synchronized (self) { // 在同一时间,只能一个线程执行,但是很耗资源 } // 解锁关于加锁,这里有一个东西.关于这个语法:@property.每次我们定义 一个属性的时候,会首当其冲的写上nonatomic,这是为什么?请看下面解说:nona...
阅读全文
摘要:一,事件的传递 UIApplication-----传递事件-----"被触摸的UIview".理解红色的文字很重要,即使被直接触摸,也不一定在当前视图处理事件.要知理由,请看下文解说. 如果父控件不能接收触摸事件,那么子控件就不可能接收到触摸事件. 那么系统是怎么找到是哪个视图来处理当前的触...
阅读全文
摘要:git reflog:查看提交日志git reset —hard (版本号):返回到指定的版本
阅读全文
摘要:一,前言看到这个图,你会想起谁?是不是想起了,曾经的用户名输入框,密码输入框...那么,问题来了:作为iOS开发的你,这个输入框你是怎么实现的,成为关键.二,方案 方案1:弄一个UIView,在这个视图上分别放三个控件:UIImageView,UILabel与UITextField.(这个方案很直...
阅读全文
摘要:一,code// 创建UIImageView UIImageView* topView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"IMG_1483"]]; topView.frame = CGRectMake(0, -H...
阅读全文
摘要:一,场景一 int arr[4] = {10, 20, 30, 40}; int (*pp)[4] = &arr; int* p = (int*)(pp + 1); NSLog(@"%d", *(p-2)); // 结果:30二,场景二 int arr[4] = {10, 20, 30, ...
阅读全文
摘要:一, 简介 // 默认情况下,block是在栈中,随时可能被回收 void (^hgBlock)() = ^{ NSLog(@"一个简单的快语句"); }; // 对快语句做一次cope操作以后,block的内现存就会放到堆里面. [hgBlock copy]; // 或者// ...
阅读全文
摘要:本博客,直接从分类说起.都知道OC中的分类是不能直接添加属性的,意思间接是能添加属性的.那应该怎么添加呢?那就要用到运行时(runtime)机制. 一,运行时金典用法之一 现在,给HGPerson类增加一个分类:HGPerson+HG.h,给一个属性如下: @property (nonat...
阅读全文
摘要:一,直接上code:// 在快语句中要改变快语句外面的值,有三种情况:static,__block与全局变量 __block int a = 1; // 定义快语句 void (^hgBlock)() = ^{ a = 10; NSLog(@"我在快语句中...
阅读全文
摘要:一旦进入iOS开发,我们第一步要了解的是,iOS的四大管理对象:UIApplication,AppDelegate,UIWindow,UIViewController.它们之间的关系,我可以理解成包含关系.如果你有更好的理解,记得要告诉我哦. 这四个对象,到底是从那里来,又将要去哪儿,它们的存...
阅读全文

浙公网安备 33010602011771号