随笔分类 -  object-c

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 37 下一页
摘要:一、网络各个协议:TCP/IP、SOCKET、HTTP等 网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象; 传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议对应于应用层 tcp协议对应于传输层 ip协议对应于网络层 三者本质上没有可比性... 阅读全文
posted @ 2019-02-26 10:46 brave-sailor 阅读(196) 评论(0) 推荐(0) 编辑
摘要:其实写这个socket一开始我是拒绝的。 因为大家学C 语言和linux基础时肯定都有接触,客户端和服务端的通信也都了解过,加上现在很多开放的第三方库都不需要我们来操作底层的通信。 但是来了!!! 但是!还是想写。底层的东西最好了解下。 好了 正经了!!!! 效果 由于5M的上传限制GIF可能看不清 我再截两张图吧 ... 阅读全文
posted @ 2019-02-26 10:03 brave-sailor 阅读(631) 评论(0) 推荐(0) 编辑
摘要:对于git的提交一直很小心翼翼,感觉一不小心就会踩到莫名的坑。 这不, 某天commit 就遇到了On branch master nothing to commit (working directory clean) 一查意思。你的分支很干净? 干净?excuse me? 然后git push o 阅读全文
posted @ 2019-01-15 18:38 brave-sailor 阅读(519) 评论(0) 推荐(1) 编辑
摘要:1.创建一个可变字符串 NSMutableString * ms1 = [[NSMutableString alloc]init]; 2.可以通过类方法来创建 NSMutableString * ms2 = [NSMutableString string]; 3.用格式化方法创建一个可变的字符串 ms1 = [NSMutableString stringWithFormat:@... 阅读全文
posted @ 2018-12-26 10:59 brave-sailor 阅读(316) 评论(0) 推荐(0) 编辑
摘要:NSString是一个不可变的字符串对象。这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。而NSMutableString是可变的,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。 因为NSMutableString和NSString的差别,所以他们之间的互相转换使用使用合适的方法。... 阅读全文
posted @ 2018-12-26 10:08 brave-sailor 阅读(949) 评论(0) 推荐(0) 编辑
摘要:字符串的常用处理,删除,替换。记录一下,方便查找。 - (void)viewDidLoad { [super viewDidLoad]; NSString *str1 = @"<hello,wo r d!>"; //删除字符串两端的尖括号 NSMutableString *mString = [NS 阅读全文
posted @ 2018-12-26 09:54 brave-sailor 阅读(638) 评论(0) 推荐(0) 编辑
摘要:前言:本文主要梳理iOS中如何使用常量、enum、宏,以及各自的使用场景。 重要的事情首先说:在iOS开发中请尽量多使用const、enum来代替宏定义(#define);随着项目工程的逐渐增大,过多的宏定义还可能影响项目的编译速度。 宏定义大家应该都不陌生,使用起来非常简单,首先我们先来看一下宏定 阅读全文
posted @ 2018-11-23 17:55 brave-sailor 阅读(412) 评论(0) 推荐(0) 编辑
摘要:首先我们知道OC中是没有二维数组的,二维数组是通过一位数组的嵌套实现的,但是别忘了我们有字面量,实际上可以和C/C++类似的简洁地创建和使用二维数组。这里总结了创建二维数组的两种方法以及数组的访问方式。 http://images.cnitblog.com/i/569008/201405/191628561371344.jpg 通过字面量创建和使用二维数组(推荐) ... 阅读全文
posted @ 2018-11-23 11:28 brave-sailor 阅读(648) 评论(0) 推荐(0) 编辑
摘要:gitHub 下载框架 搜索MJExampleViewController.h 下拉刷新 MJTableViewController 上拉刷新 MJTableViewController CollectionView的使用参考 MJCollectionViewController UIWebView 阅读全文
posted @ 2018-10-31 17:04 brave-sailor 阅读(751) 评论(0) 推荐(0) 编辑
摘要:pod install 在项目中第一次使用CocoaPods, 进行安装的时候使用这个命令. 在Podfile中增加或删除某个pod后, 也是使用这个命令. 而不是pod update. 每次运行pod install命令, 下载并安装新的pod时, 它会为Podfile.lock文件中的每个pod 阅读全文
posted @ 2018-10-31 16:58 brave-sailor 阅读(507) 评论(0) 推荐(0) 编辑
摘要:NSNumber与NSValue关系与作用 1.由于集合里只能存放对象,不可以存放基本数据类型,所以我们有时候需要讲一些对象比如基本数据类型,结构体等存到NSDictionary NSArray中,我们就需要将这些数据类型或结构体包装成OC对象,以便集合能访问到。常用的用来包装这些类型的有NSNumber NSValue 2.NSNumber只能包装基本数据类型,比如int, flo... 阅读全文
posted @ 2018-10-24 16:31 brave-sailor 阅读(174) 评论(0) 推荐(0) 编辑
摘要:前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移,如果仅仅是在旧版本的数据模型上进行上述操作,就会造成所有旧用户更新完成后的第一次启动崩溃。 数据迁 阅读全文
posted @ 2018-10-24 12:03 brave-sailor 阅读(213) 评论(0) 推荐(0) 编辑
摘要:Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,通过CoreData管理应用程序的数据模型,可以极大程度减少需要编写的代 阅读全文
posted @ 2018-10-24 12:02 brave-sailor 阅读(182) 评论(0) 推荐(0) 编辑
摘要:app中使用了CoreData,并且在下一个版本中有实体变动,比如实体新增字段、修改字段等改动, 那么app在覆盖安装时就要进行数据库迁移, 否则app就会crash。 那如何实现数据库迁移呢?大概需要这几个步骤: 1. 选中你的CoreData.xcdatamodeld文件,选择Xcode菜单ed 阅读全文
posted @ 2018-10-24 10:20 brave-sailor 阅读(438) 评论(0) 推荐(0) 编辑
摘要:在真实开发中,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模的重构;所以数据的迁移就显得尤为重要了。 CoreData 中,数据迁移本质就是把旧的 SQLite 数据库里的内容,复制到新的 SQLite 数据库里去,让新的数据库作为默认的数据存储。伴随着模 阅读全文
posted @ 2018-10-24 10:10 brave-sailor 阅读(876) 评论(0) 推荐(0) 编辑
摘要:linker command failed with exit code 1 (use -v to see invocation) 遇到这个问题先不要慌,不用纠结是不是自己改动了什么代码导致的。 长话短说: 主要问题在于倒入文件的时候我们可能重复倒入了 第一步:右键这个错误提示,选择reaval i 阅读全文
posted @ 2018-09-19 18:29 brave-sailor 阅读(6953) 评论(0) 推荐(0) 编辑
摘要:此文章仅适用于适用于使用Xcode的开发者。 长期不清理Xcode中的一些文件你会发现自己的mac硬盘越来越小,而且是这个其他占了绝大部分的硬盘,在网上搜索了很多办法都没找到如何清理这些其他 后来来来回回在文件夹中找发现~/Library/Developer/Xcode这个Xcode文件夹大的惊人, 阅读全文
posted @ 2018-09-19 09:55 brave-sailor 阅读(1312) 评论(0) 推荐(0) 编辑
摘要:若想对UILabel添加图片,那么就需要使用NSMutableAttributedString来定义先定义一个普通的label UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, self.view.frame.size. 阅读全文
posted @ 2018-09-04 19:10 brave-sailor 阅读(179) 评论(0) 推荐(0) 编辑
摘要:系统声音服务(System Sound Services)提供了一个接口,用于播放不超过30秒的声音。它支持的文件格式有限,具体地说只有CAF、AIF和使用PCM或IMA/ADPCM数据的WAV文件。由于这些函数没有提供操纵声音和控制音量的功能,所以当你为多媒体或者游戏创建专门的配乐时,不要使用系统 阅读全文
posted @ 2018-09-04 09:47 brave-sailor 阅读(1474) 评论(0) 推荐(0) 编辑
摘要:录音 在开始录音前,要把会话方式设置成AVAudioSessionCategoryPlayAndRecord 创建AVAudioRecorder 给出录音存放的地址,录音的设置等 录制暂停 录制结束 代理方法 pragma mark — AVAudioRecorderDelegate -(void) 阅读全文
posted @ 2018-09-04 09:45 brave-sailor 阅读(492) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 37 下一页
点击右上角即可分享
微信分享提示