- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 iOS如何正确清空数组
NSArray以及NSMutableArray(不可变数组和可变数组)是OC中的两种数组,在开发中,经常会遇到需要清空数组的需求,这时候大多数人会下意识的想到nil这个方法。即使 array = nil,这样不仅清空了数组,同时也把memory释放了,这个object(对象)就不存在了,并不提倡这种方式(注释:你在离开这个ViewController的情况下)。 使用nil将会删除整个数组,而使用
2016-08-15 18:26:15 13600 4
原创 iOS生成随机数
Objective-C语言中生成随机数的函数arc4random()函数 arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机值进行限制,有点麻烦随机函数arc4random()使用方法// 获取 0 ~ 99 随机数int x = arc4random() % 100;// 获取 500 ~ 1000 随机数 int y =
2016-08-15 16:26:59 787
原创 AFN3.0以上版本的二次封装
这里针对AFN3.X版本进行了一下二次封装,降低项目中的耦合,方便后期维护。项目中为什么使用AFNetworking,为什么需要封装每一款APP的开发,都需要用到网络请求接口,如果使用iOS系统原生的NSURLConnection,既考验开发人员的技术功底(那得是技术相当滴硬,而且在这方面造诣也很高),又考验开发人员的忍耐力(不停地改,改,改),后期维护也是很耗费人力和时间。于是AFNetworki
2016-08-11 19:27:28 1850
原创 iOS设置[self.navigationItem setTitleView:View]
功能需求在NavigationBar上添加搜索框,并对其位置提出了要求,系统中自带的TitleView不能满足,因此查阅了资料,重写了TitleView TitleView.h文件,重写TitleView继承UIView#import <UIKit/UIKit.h>@interface TitleView : UIView@endTitleView.m文件,重写其父类的Frame#import
2016-08-10 18:44:53 6362
原创 Deep Linking(深度链接)
Deep Linking(深度链接)补充–Deep Linking打破APP信息孤岛(Deep Linking打破APP信息孤岛)这里讲的Deep Linking(深度链接),在PC开发中是指指向首页的链接或是指向具体内容页的链接。在移动端开发中deep linking 则是指app 在 handle 特定 URI 的时候可以直接跳转到对应的内容页或触发特定逻辑,而不仅仅是启动 app。深度链接好处
2016-08-10 16:07:44 7384
原创 iOS搜索功能(search demo)
这段时间做了一下搜索功能,网上搜了搜各式各样,因此根据需求写了个demo,以便满足现在项目的需求。搜索功能,顾名思义就是为了搜索内容,那么我们的关注点就有了——内容查找(注释:这个查找可能是本地数据,也有可能是网络数据)关键点代码 (查找内容) // 方法一:([c]不区分大小写[d]不区分发音符号即没有重音符号[cd]既不区分大小写,也不区分发音符号。)NSPredica
2016-08-09 17:55:00 1954
原创 设置图片的渐变色
//设置颜色数组 UIColor *startColor = [UIColorclearColor]; UIColor *EndColor =UIColorFromRGB(0x272727); //创建CAGradientLayer实例CAGradientLayer *gradient = [CAGradientLayerlayer];//设置颜色gradien
2016-08-09 16:12:13 1272
原创 iOS开发中NSLog的替换
在Objective-C中,NSLog相当于C语言中的printf,常用于输出。替代开发中Debug时的NSLog,release模式编译的程序不会用NSLog输出,而以debug模式编译的程序将执行NSLog的全部功能,在发布时不用再删除输出操作#ifdef DEBUG#define DebugLog( s, ... ) NSLog( @" %@", self, [[NSStri
2016-08-08 16:10:25 1207
原创 UIimage更改TintColor颜色
- (UIImage*) tintImageWithColor:(UIColor*)tintColor{ UIGraphicsBeginImageContextWithOptions(self.size,NO, [[UIScreenmainScreen]scale]); CGContextRef context = UIGraphicsGetCurr
2016-08-08 16:02:27 1791
原创 iOS 为什么要用weak修饰代理(delegate)
最近在review自己之前的代码发现了循环引用,ViewController和View相互持有的的问题,经层层排除发现问题出现在代理修饰和这个代理我又Block中使用了,问题暴露了。(注释:如果你也遇到同样的问题,你需要查看你的属性修饰、是采取了强引用、或是其他需要释放的控件,总之希望能提供帮助)开发中我们使用苹果提供的代理,或自己写代理,而代理属性都用weak或是assign修饰,但是也看到
2016-08-05 17:12:09 2812
原创 Xcode7 添加PCH文件
1. 打开你已经存在的XCODE工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步.2. 给你的PCH文件起名字projectName-Prefix.pch. 例如你的项目工程名为iOSSample然而你的PCH 文件的名字应该为 iOSSample-Prefix.pch然后点击创建按
2016-08-05 13:37:19 421
原创 标记废弃的方法
DEPRECATED_ATTRIBUTE (注释:关键字)例:/** * @deprecated This method is deprecated starting in version 1.1.5 * @note Please use @code [CRCommenFuncManager checkIsFavObjectWithType:(FavType)favType
2016-08-05 13:30:30 2889
原创 截取当前视图
当前视图中所有的子视图进行截取- (UIimage *)screenImage { CGSizesize =self.bounds.size; UIGraphicsBeginImageContextWithOptions(size,YES, 0); UIImage *screenImage = nil; [self drawV
2016-08-05 13:05:57 539
转载 iOS-防止GDB挂起(就这么简单)
什么是GDB?所有发布的iOS设备都是基于ARM架构的。我们开发iOS应用的时候编写的Objective-C代码会首先转换成ARM汇编,然后转换成机器指令。对ARM汇编语言和使用GDB调试有很好掌握的话,攻击者是能够在运行时解密Objective-C代码甚至修改代码的。在安全评测的时候这个GDB挂起是必不可少的一个安全评测协议。网上已经有了阻止GDB挂起的代码。【念茜的博客】给出了安全
2016-08-04 13:59:35 1593
原创 iOS8 Swift 版本 Cocoapods 安装使用
首先确认你本地的Cocoapods已安装成功,具体安装方法参考iOS 版本CocoaPods 安装使用cd /你的项目文件目录 然后进入 Xcode 项目文件目录,生成 Podfile 文件pod init 之后需要编辑 Podfile 文件,让它包含 Fon
2016-08-04 13:52:11 347
原创 iOS版本CocoaPods安装和使用
1.开启 terminal2.移除现有 Ruby 默认源$ gem sources --remove https://rubygems.org/3.使用新的源$ gem sources -a https://ruby.taobao.org/4.验证新源是否替换成功$ gem sources -l5.安装 CocoaPods$ sudo gem install coc
2016-08-04 13:29:36 543
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人