- 博客(26)
- 收藏
- 关注
原创 Lua基础语法学习(二)+Lua5.3参考手册
Lua中函数也是可以拿起来就用,不需要在使用之前定义function fib(n) if n<2 then return 1 end return fib(n - 2) + fib(n - 1) endLua中,返回值、函数调用、赋值等的时候,可以使用长度不匹配的list,这样的话,所不匹配的接收方将会被赋值为nil,发送方被忽略。在Lua的函数中,在内部产生的参数是局部变
2016-06-07 20:24:37 958
原创 Lua语法学习(一)
Lua语言,与我所学的oc差别非常大,感觉在很多地方都比较凌乱,可能是因为我所掌握的语言还比较少的原因。作为一名初学者,这篇博客上许多内容我是参考了网络朋友的知识。
2016-06-06 21:03:27 383
原创 CoreData的简单创建和增删改查
使用步骤: 1、创建模型文件 相当于数据库 2、添加实体 相当于表 3、创建实体类 相当于模型类 4、生成上下文,用于关联模型文件生成数据库 5、保存对象到数据库 6、从数据库获取对象 7、更新数据 8、删除数据1、模型文件在新建文件里的CoreData下的Data Model 2、点击相应的模型文件在右侧下方有“Add En
2016-05-18 11:50:52 412
原创 AFNetWorking实现GET、POST
AFNetWorking的网络请求是异步执行的,完成以后的回调代码是在主线程的。 AFNetWorking默认会对JSON解析,也就是反序列化。 如果需要解析XML,那么需要添加代码,它将会设置为NSXMLParser解析器解析,也就是说后面还是需要使用SAX方式手动解析。manager.responseSerializer = [AFXMLParserResponseSerializer se
2016-05-18 10:42:27 251
原创 AFNetWorking实现GET、POST
AFNetWorking的网络请求是异步执行的,完成以后的回调代码是在主线程的。 AFNetWorking默认会对JSON解析,也就是反序列化。 如果需要解析XML,那么需要添加代码,它将会设置为NSXMLParser解析器解析,也就是说后面还是需要使用SAX方式手动解析。manager.responseSerializer = [AFXMLParserResponseSerializer se
2016-05-17 20:10:04 301
原创 oc拼接字符串
NSString *username = @"zhangsan";NSString *pwd = @"zhangsan";NSString *urlString = [NSString stringWithFormat:@"http://127.0.0.1/login.php?username%@&password=%@"username,pwd];
2016-05-17 17:34:18 675
原创 POST、GET基本对比和使用
这是两种发送http请求的方法, 都能做到增删改查。GET包装了URL,请求的参数全都在url上面。 POST也包装了URL,但是这个url上面没有参数,因为参数在POST的数据体里面,更安全,隐私数据的传递使用POST。GET可以缓存,但是POST是没有缓存的。GET本质上是从服务器得数据,效率更高, POST本质上是拿数据和服务器交换得到结果,效率不如GET,提交的数据也比较大。
2016-05-17 17:23:24 624
转载 ARC、MRC混编
ARC工程中使用MRC类: 在targets的build phases选项下Compile Sources下选择要不使用arc编译的文件,双击它,输入 -fno-objc-arc 即可MRC工程中使用ARC类:在targets的build phases选项下Compile Sources下选择要使用arc编译的文件,双击它,输入 -fobjc-arc 即可
2016-05-17 16:32:52 225
原创 数据的归档和解档
可以把自定义对象的数据保存起来1、在对象中写好归档解档方法//归档会将自定义对象写入磁盘前将对象转成二进制-(void)encodeWithCoder:(NSCoder *)encoder{ [encoder encodeObject:_name forKey:@"userName"]; [encoder encodeInt:_age forKey:@"userAge"]; }
2016-05-17 15:41:13 229
原创 简单的从服务器获取数据以及反序列化
范例一(从本地服务器获取数据打印出来)://确定urlNSURL *url = [NSURL URLWithString:@"http://127.0.0.1/demo.json"];//建立请求(参数:资源路径、缓存策略、超时期限,默认60s)NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:0 time
2016-05-17 15:28:08 505
原创 UIWebView的一个简单实现
@property(weak,nonatomic) UIWebView *webView;//确定一个要访问的资源NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"];//建立请求,准备告诉服务器端,我们客户端需要的资源NSMutableURLRequest *request =[NSMutableURLRequest request
2016-05-17 14:50:26 206
原创 block内self的循环引用的问题
block内使用self的时候都有可能会产生循环引用的问题。 self可能会对外部变量有强引用,导致其无法释放产生循环引用的问题。判断方法: 借助dealloc判断是否循环引用,-(void)dealloc{ NSLog(@"已销毁");}解决方法: 1、在block外:__weak typeof(self)weakSelf = self;2、在block内用weakSelf代替s
2016-05-16 21:55:10 308
原创 SDWebImage基本使用
这是一个用于图片下载的第三方框架。 其中SDWebImageManager是该框架的核心类。 默认缓存一个星期。 底层实现和沙盒缓存是一样的,所以也防止了一个url对应的图片的重复下载简单用法: 1、导入第三方框架 2、 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:app.icon] placeholder
2016-05-16 21:46:53 227
原创 沙盒基本使用步骤
沙盒用于程序的缓存。可代替内存缓存 使用中一共有3步 范例中:源图片存储于一个plist文件中 //1、在适当的时候将图片写入沙盒[NSData writeToFile:[self cachePathWithUrl:app.icon] atomically:YES];//2、拼接一个文件在沙盒中的全路径-(NSString *)cachePathWithUrl:(NSString *)urlS
2016-05-16 21:07:38 1645
原创 oc的字典转模型
#import "ViewController.h"#import "QZApp.h"@interface ViewController()//创建一个plist文件数据的容器@property(nonatomic,strong)NSArray *appList;@end@implementation ViewController//这是懒加载的形式-(NSArray *)appList
2016-05-16 15:36:40 260
原创 GCD和NSOperation对比
GCD 1、将任务(block)添加到队列(串行/并发),指定执行任务的方式(同步/异步)。 2、获取主队列用dispatch_get_main_queue()。 3、可以做到一次性执行,延迟执行。 4、提供了NSOperation不好实现的调度组。NSOperation 1、将操作(异步执行)添加到队列(并发/全局)。 2、使用[NSOperationQueue mianQueue]把
2016-05-16 14:59:17 250
原创 NSOperation中指定异步任务的依赖关系
指定异步任务的依赖关系可以让任务按一定顺序执行。 注意:依赖关系可以跨队列。例如,下载某文件后解压缩再更新UI,如果直接异步会乱序执行,这不合理,所以指定依赖关系。范例:-(void)depend{ NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{NSLog(@"下载")}]; NSBlock
2016-05-16 14:49:09 540
原创 NSOperation基本知识
NSOperation和NSOperationQueue配合使用实现多线程编程。默认就是并发的。具体实现步骤: 1、将任务封装到NSOperation对象中 2、将NSOperation对象添加到NSOperationQueue中 3、系统自动从NSOperationQueue中取出NSOperationNSOperation对象 4、将取出的任务放到一条新线程中执行NSOperation是
2016-05-16 13:56:17 213
原创 GCD的调度组和延迟执行、一次性执行
调度组范例//实例化调度组dispatch_group_t group = daspatch_group_greate();//创建队列dispatch_queue_t queue = dispatch_get_glabal_queue(0,0);//任务加入dispatch_group_async(group, queue, ^{ NSLog(@"A任务---%@", [NSTh
2016-05-16 13:18:57 232
原创 GCD主队列、全局队列
主队列专门负责在主线程上调度任务 主队列执行同步任务造成死锁 特点就是不允许开新线程,在这个队列里只能顺序执行任务把任务放到主线程执行:1、获得主队列。2、放进去执行。 dispatch_queue_t queue = dispatch_get_main_queue(); dispatch_sync(queue, ^{ NSLog(@”%@ %d”, [NSThread curre
2016-05-16 12:05:19 326
原创 GCD串行并发同步异步基本概念
一般只要使用同步执行,串行队列对于添加的同步任务会立即执行 GCD中函数都是以dispatch开头 GCD中,创建队列的时候决定串行并发,执行的时候决定同步异步。 同步异步决定是否开新线程,串行并发决定开几个线程。dispatch调度;queue队列;sync同步;async异步;concurrent并发;serial串行。 串行队列:按顺序一个一个执行。 并发队列:同时执行多个任务,创建
2016-05-16 11:34:11 727
转载 svn基本知识
svn1.svn:版本控制?>防止代码丢失 n天开一个项目 回家吃谷种>代码回退>整合代码 多个人开发一个项目,每个做一个模块>解决Bug冲突 版本可以查是谁改了哪个文件>权限控制 新员工去到公司,一般都不会让你直接修改项目的代码,查看代码•••••2.svn在工作怎么使用>svn分两个角色 svn服务端/svn客户端>svn服务器 "创建一个仓库 仓库
2016-05-12 22:38:20 459
转载 oschina使用方法
git sever github,国外 oschina 国内•"oschina 国内" 》注册帐号 》在网址上初始化一个仓库 》把远程仓库里的东西下载到本地 git clonehttps://git.oschina.net/mayaole/WeChat.git 》添加项目代码,提交版本本地 git commit -m "初始化微信的项目代码"
2016-05-12 22:34:59 454
转载 git基本用法
-gitgit 分布式的版本控制 •它的所有版本信息可以保存到本地或者是远程服务器svn 分布式版本控制对于集中式的版本控制有什么好处 •比svn 数据备份安全 •svn branches分布 创建比较麻烦 •git 分枝创建非常简单//===============git 命令行•创建一个仓库•初始化项目-随便添加几个文件•提交项目到版本控制
2016-05-12 22:31:18 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人