1. 控制台打印线程问题 Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation] PID: 4940, TID: 93956, Thread name: (non ...
分类:
移动开发 时间:
2017-12-30 18:10:43
阅读次数:
307
了解socket,就需要了解数据在网络中传输。 网络通讯有三要素:ip地址,网络中设备的表示,例如本机用127.0.0.1,或者用本机名:localhost;端口号,用来标示进程的逻辑地址,也就是服务,有效端口0~65535,一般1024以下端口被系统或者本地服务所占据,开发中尽量不要使用,以避免冲 ...
分类:
移动开发 时间:
2017-12-10 14:44:27
阅读次数:
142
在加密使用中,一种是散列函数(HASH),它最著名的特点就是不可逆性,我们无法通过加密出来的结果反向解密出内容,其最突出的代表就是MD5加密。MD5加密会无视内容大小,加密成一串32位字符串。面对其不可逆和无视内容大小特性,我们可以用它来做很多事情。 1.使用MD5做传统的登陆密码加密,服务器保留的 ...
分类:
移动开发 时间:
2017-12-03 13:58:17
阅读次数:
208
在iOS中使用的多线程技术有四种,Pthread、NSThread、GCD、NSOperation,但GCD与OP严格来说,应该叫并发编程技术。GCD虽然是用C语言书写,但是苹果对它做了很多封装,让它使用起来及其简单方便,因此在OC开发中应用很广。而OP则是在iOS4.0之后对GCD进行了一次封装, ...
分类:
移动开发 时间:
2017-11-17 14:58:36
阅读次数:
201
OC采用ARC机制,因此strong等属性也有了应用场景。当使用alloc为一个对象在堆中分配内存空间,然后让栈区使用一个强指针指向该内存地址,就能在指针被自动释放签前,保证堆内数据不被释放。那么如果不是用强指针,而是用弱指针执行该堆内存地址,那么在分配内存空间后就会自动释放。 那么,针对这种运用场 ...
分类:
移动开发 时间:
2017-11-13 19:52:24
阅读次数:
158
每一个app的启动,开启主线程的同时,也开启了一个Runloop死循环,runloop会不断询问是否有新的任务给线程执行。runloop最常用的三块,就是网络事件,事件响应与NSTimer。网络事件现在基本上都用已经封装好的框架,但是最初用NSURLConnection进行网络请求的时候,会出现异步 ...
分类:
移动开发 时间:
2017-11-12 14:14:42
阅读次数:
265
在多线程学习中,必然会涉及到不同线程对同一资源的调取,面对这种调用不加以控制,就会产生数据混乱的情况。最常见的情况莫过于买票,多个售票员售票肯定是同时操作,这样就会开启多条线程,但是这种售票方式会产生票数不对的情况。 ...
分类:
移动开发 时间:
2017-11-12 00:30:08
阅读次数:
166
首先我们得知道,cpu仅能同时处理一条线程,多线程并发并不是多条线程同时进行,而是cpu不断在线程间切换进行,所以线程并不是越多越好,当存在大量线程,会让cpu在切换间疲于奔命,反而不利于开发。 具体来说,iOS方面多线程也就是两种,pthread以及NSThread。pthread是C语言写的多线 ...
分类:
移动开发 时间:
2017-11-09 11:30:26
阅读次数:
388
在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。然而,没有自动定义好的软键盘的回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域 ...
分类:
移动开发 时间:
2017-10-25 21:24:48
阅读次数:
334
//创建.h文件 界面的类文件(创建一个类) @interface MyClass:NSObject{ //类变量声明 int a; int b; } //类属性声明 (int) p2 //类方法声明 -(return_type)method_one; -(return_type)method_tw ...
分类:
移动开发 时间:
2017-10-16 13:45:44
阅读次数:
160