自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

岸边的脚印

在这进化的路上永不停歇

  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 ios排序算法

1.冒泡排序 O(n2)相邻的两个元素比较,如果第一个比第二个大,就交换,从第一个元素到倒数第二个- (void)BubbleSort:(NSMutableArray *)array{ for (int i = 0; i<array.count; i++) { for (int j = 0; j<array.count-1-...

2019-07-19 16:29:39 622

原创 读SDImageView小记

读SDImageView小记入口下载前准备工作开始下载缓存入口- (void)sd_setImageWithURL:(nullable NSURL *)urlSDImageView做了非常好的API封装,最终方法做了以下这些事情:以class或者自定义key为关键字,从NSMapTable里找到operation并且取消如果没有指定延迟加载placeholder图片,先设置image...

2019-05-28 16:54:22 388

转载 Clang Attributes 黑魔法小记

Clang Attributes 是 Clang 提供的一种源码注解,方便开发者向编译器表达某种要求,参与控制如 Static Analyzer、Name Mangling、Code Generation 等过程,一般以__attribute__(xxx)的形式出现在代码中;为方便使用,一些常用属性也被 Cocoa 定义成宏,比如在系统头文件中经常出现的NS_CLASS_AVAILABLE_...

2019-05-20 10:56:31 613

原创 iOS全局变量的有趣的事

在开发过程中,您可能经常会遇到"duplicate symbol _xxx"的错误,大多都是变量重复,您可能需要给某一个类的变量改名字,为什么会出现类似的问题呢,我做了个试验,发现了很有意思的事情。试验一case1A.h声明extern NSString * kAppErrorDomainA.m实现NSString * kAppErrorDomain = @"...

2019-04-28 16:23:29 236

原创 ios Benchmarking

计算代码执行时间第一种:CFTimeInterval startTime = CACurrentMediaTime();CFTimeInterval endTime = CACurrentMediaTime();endTime - startTime;第二种:dispatch_benchmark(黑科技,不要发布,不要发布,不要发布,自己测试用即可)这个方法没有被公开声明...

2019-04-26 10:40:37 247

原创 ios __block修饰词底层实现原理

 注:此文章为自己学习笔记,部分来自欧阳大哥博客https://www.jianshu.com/p/595a1776ba3a让我们看下代码://文件test.m#import &lt;Foundation/Foundation.h&gt;void test(){ //下面分别定义各种类型的变量 int a = 10; ...

2018-10-23 14:25:28 8886

转载 iOS触摸事件全家桶

此文紧用于自己记录笔记,无任何商业用途,转载地址为https://mp.weixin.qq.com/s/nPGJqZTkkLdMyWjHuKRCKgiOS触摸事件全家桶Lotheve Cocoa开发者社区 1周前本公众号内容均为本号转发,已尽可能注明出处。因未能核实来源或转发内容图片有权利瑕疵的,请及时联系本号,本号会第一时间进行修改或删除。 QQ : 3442093904  ...

2018-09-12 16:40:59 310

原创 lldb命令

watchpoint 断点观察watchpoint set variable son-&gt;_name

2018-06-07 11:04:18 236

原创 cocoaPods私有库管理笔记

一、起因    随着项目的人越来越多,业越来越复杂,依赖和自主创建的库文件越来越多,项目也越来越多元化,库的管理也越来越麻烦,比如项目部分工程拆分并独立上线,会发现移植代码繁重而低效,因此需要用cocoaPods来管理众多的库文件,达到动态删减库文件的效果。二、开干1.创建一个私有的spec1️⃣github有一个公共的spec,可以通过命令 'open ~/.cocoapods/repos/ma...

2018-04-28 14:55:33 300

原创 纯自己记笔记,如有错误还请大神不吝赐教

原文:https://mp.weixin.qq.com/s/R1a1UPxr4a--quYM7RBc1QiOS的方法执行转发MyClass *myClass = [[MyClass alloc] init];[myClass printLog];这个方法会被动态转成 objc_msgSend(myClass,@selector(printLog));官方将此方法的定义为objc_msgSend(v...

2018-03-27 13:53:50 234

转载 iOS开发实战之Cookie注入

Cookie注入的使用场景:在开发中,我们常常会遇到这样一种场景:通过在一部分网络请求中注入Cookie信息让后台校验当前用户的登录状态以及用户权限在APP中打开一个需要登录用户才能看的页面,一般客户端会先判断是否登录,如果没有登录去登录。缺点每次都要判断,如果是付费内 容,还要引导用户去支付,这些都要去后台发起多个请求,去判断,增加了网络开销,如果

2017-08-09 18:15:08 321

转载 NSRunLoop的退出方式

1.启动RunLoop通过[NSRunLoop currentRunLoop]或者CFRunLoopGetCurrent()方式可以获取当前线程的runloop。根据苹果文档,启动一个runloop有以下三种方法:- (void)run;  - (void)runUntilDate:(NSDate *)limitDate;- (void)

2017-08-08 17:12:55 2828

转载 解决iOS中使用UIWebView加载嵌入脚本中带有alert时卡住界面问题。

使用UIWebView的 stringByEvaluatingJavaScriptFromString方法时,在被执行的JS方法中不能有alert出现,否则可能会导致主线程阻塞。如:使用UIWebView的 stringByEvaluatingJavaScriptFromString方法时,在被执行的JS方法中不能有alert出现,否则可能会导致主线程阻塞。如:OC中:[web

2016-07-27 16:30:15 1284

转载 ios9键盘 level级别

如下图所示,当键盘已经弹起的时候,再显示我们自己写的确认窗口等window,会发现window被键盘挡住了。这是因为iOS9下系统键盘的windowLevel是很高的,达到10^7。而且进一步发现,这个值是系统允许的最大值。如果把某个window的windowLevel改成比10^7大的值,系统只会设为10^7。解决这个问题有两种方法:一个是把我们自己window的

2016-07-26 12:06:28 895

原创 收藏

动画解释:http://objccn.io/issue-12-1/

2014-08-25 17:22:21 426

转载 iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS

一般情况下,我们采用C风格的enum关键字可以定义枚举类型。[cpp] view plaincopyenum{       UIViewAnimationTransitionNone,      UIViewAnimationTransitionFlipFromLeft,      UIViewAnimationTransitio

2014-07-15 10:12:47 574

转载 UIViewController 中的 willMoveToParentViewController和didMoveToParentViewController的使用

关于这两个方法,也是IOS5之后才加上去的。在iOS 5.0及以后,iOS为UIViewController类添加了新的属性和方法:@property(nonatomic,readonly) NSArray *childViewControllers -(void)addChildViewController:(UIViewController *)childController

2014-05-30 11:49:01 1000

转载 iOS中为category添加@property支持

Objective-C runtime提供了Associative References支持,也就是说每一个对象都有一个可选的dictionary字典,我们可以向其添加key/value对。这是一个非常强大的功能,我们都知道Objective-C中支持category,我们可以在category中添加方法,但是它不允许我们添加实例变量。通过这个Associa

2014-05-06 18:01:49 1278

转载 利用NSCache提升效率

在ios中,苹果提供了,NSCache类和NSDictionary很相似,提供key,value的存储,不一样的是NSCache在内存吃紧的时候会做自动释放。遇到一个问题是,在使用大量图片的app中,需要从存储里面读取数据,每次都从文件系统里面读取文件会造成卡顿现象。解决办法就是把NSData对象缓存起来,先从NSCache里面读取数据,然后再从文件系统获取数据,提高效率。

2014-05-06 17:40:20 725

转载 Dispatch Sources

Dispatch Sources现代系统通常提供异步接口,允许应用向系统提交请求,然后在系统处理请求时应用可以继续处理自己的事情。Grand Central Dispatch正是基于这个基本行为而设计,允许你提交请求,并通过block和dispatch queue报告结果。dispatch source是基础数据类型,协调特定底层系统事件的处理。Grand Central Disp

2014-04-23 16:01:55 757

转载 UIView UIControl UITextField详解

今天看到有人总结了三个常用类:UIView、UIControl和UITextField的详细使用说明。感觉写的不错,好多方法和属性以前都没有仔细研究过。现在把链接记录在此,以备将来不时之需。UIView UIControl UITextField

2014-04-08 10:26:34 575

转载 dispatch_semaphore_create信号

自从ios4.0/mac osx10.6引入了GCD之后,让我们在使用多线程的时候确实方便了很多,关于GCD的一些介绍和使用本站中已经转过一位资深开发者的几篇系列文章,非常彻底的介绍了GCD的用法和一些特性,有兴趣的朋友可以去翻阅。但当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案

2014-03-31 10:28:44 1678

原创 将UIButton 设置背景颜色 有点击highlight效果

首先写个UIImage的类别 为的就是要点击效果。PS:直接        [self.rightBtn setBackgroundColor:color]是没有点击高亮效果的。@implementation UIImage (colorful)+ (UIImage *)imageWithColor:(UIColor *)color{    CGRect rect

2014-03-27 11:44:24 6865

转载 [Cocoa]深入浅出 Cocoa 多线程编程之 block 与 dispatch quene

深入浅出 Cocoa 多线程编程之 block 与 dispatch quene罗朝辉(http://blog.csdn.net/kesalinCC 许可,转载请注明出处block 是 Apple 在 GCC 4.2 中扩充的新语法特性,其目的是支持多核并行编程。我们可以将 dispatch_queue 与 block 结合起来使用,方便进行多线程编程。本文源代

2014-03-27 10:51:58 565

转载 hitTest:withEvent:

hitTest:withEvent:2011-12-15 17:19:35标签:触摸 职场 检测 休闲触摸事件。 窗口对象使用点击检测(hit-testing)以及响应链(responder chain) 来查找接收该触摸事件的视图。在点击检测中,hitTest:withEvent:; 如果这个方法返回YES,则在该视图层次的每!!!个视图上递归调用pointIns

2014-03-26 11:47:56 541

转载 IOS UIView touch事件 详解

前面说过UIViewController,但是UIView也是在MVC中非常重要的一层 。正是因为UIView是Iphone下所有界面的基础,所以官方专门写了一个文档“View Programming Guide for iOS”。通过这个可以很好的了解UIView的功能。        先来看看官方API的解释:The UIView class defines a rectangular

2014-03-26 10:58:31 803

原创 UITableView UITableViewStylePlain模型下 取消headerView的黏结性

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {    CGFloat sectionHeaderHeight =44;    if (scrollView.contentOffset.ycontentOffset.y>=0) {        scrollView.contentInset = UIEdgeInset

2014-03-22 18:42:49 1076 1

转载 UIWindow的一点儿思考

转载于:一片枫叶追求卓越,成功就会在不经意间追上你跟随自己的节奏学习,思考,总结,找到自己,别人才会找到你下一篇:ARC关于UIWindow的一点儿思考UIWindow的一点儿思考  每一个IOS程序都有一个UIWindow,在我们通过模板简历工程的时候,xcode会自动帮我们生成一个window,然后让它变成keyWindow并显示出来。这

2014-03-20 10:24:58 494

转载 UIView的layoutSubviews和drawRect方法何时调用

转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。  layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubvie

2014-03-17 09:36:41 777

转载 [IOS] Storyboard全解析

原文地址:http://iaiai.iteye.com/blog/1493956(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图:  现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制

2014-02-26 15:27:49 706

转载 iOS block的用法

本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来。文字简体化了,原来是繁体,变数=变量,这个注意一下。本文的顺序是层层深入的,要想简单的了解,只看X.1 初探Block就好了本章学习目标:1. 了解何谓block。2. 了解block的使用方法。Block 是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初学者来说

2014-02-25 15:26:10 547

转载 iOS多线程编程Part 2/3 - NSOperation

原文地址:http://www.hrchen.com/2013/06/multi-threading-programming-of-ios-part-2/多线程编程Part 1介绍了NSThread以及NSRunLoop,这篇Blog介绍另一种并发编程技术:NSOPeration。NSOperation & NSOperationQueue从头文件NSOperati

2014-02-21 15:04:23 474

转载 iOS多线程编程Part 1/3 - NSThread & Run Loop

原文地址:http://www.hrchen.com/2013/06/multi-threading-programming-of-ios-part-1/前言多线程的价值无需赘述,对于App性能和用户体验都有着至关重要的意义,在iOS开发中,Apple提供了不同的技术支持多线程编程,除了跨平台的pthread之外,还提供了NSThread、NSOperationQueu

2014-02-21 15:02:03 977

转载 iOS多线程编程Part 3/3 - GCD

原文地址:http://www.hrchen.com/2013/07/multi-threading-programming-of-ios-part-3/iOS多线程编程Part 3/3 - GCD前两部分介绍了NSThread、NSRunLoop和NSOperation,本文聊聊2011年WWDC时推出的神器GCD。GCD: Grand Central Dispatch,是一组用于实

2014-02-21 14:56:51 636

转载 ios7 状态栏与导航栏布局与ScrollView的特性分析

前言iOS7是目前iOS史上最颠覆的一次改版。它的出现令人兴奋,因为它将会带我们进入一个全新的时代;它的到来也让我们忧心,因为它颠覆了一切,包括我们过去做过的很多努力。但是,相信大家乐意为这个全新时代做更多的努力,因为,它值得期待。 最近打算写一系列针对iOS7新特性的文章,今天就从最基本和简单的页面布局开始吧。  从头说起当我看见iOS7那个半透明设计的n

2014-02-12 14:07:09 1420

原创 CGRectInset、CGRectOffset详解

CGRectInset先看它的定义,是这个样子:CG_EXTERN CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)。它是以rect为中心,根据dx,dy的值来扩大或者缩小,负值为扩大,正直为缩小。可以他们理解成为宽度和高度的偏移量。为了更好的理解,我们来看下具体的实现:UIView *view1 = [[UIVie

2014-01-21 17:12:13 1741 3

转载 loadView学习总结

UIViewController类或其子类会在初始化时创建一个UIView对象,会作为控制器的默认视图显示出来,可以通过self.view寻址访问。但没有调用loadView方法时,self.view=nil。loadView在每一次使用self.view这个property,并且self.view为nil的时候被调用,用以产生一个有效的self.view。这个接口原本是为了让我们自定义view用

2014-01-21 15:51:48 560

原创 iOS获取设备的序列号

不知道是否有童鞋们做应用的时候跟我一样,用设备的序列号来识别设备进行一些设备控制,因为我做的是银行内部应用,不会上APP Store,不知道这个方法是否能通过苹果的检测,如果有知道的童鞋,请不要吝啬的告诉我哦~~    废话不多说,上代码!    ①:导入三方文件  下载地址:http://pan.baidu.com/s/1mgqdIu0    ②:导入iokit.framework,

2013-12-27 15:07:43 3073 1

iOS pushViewController实例,有层次效果和手势滑动,很火很实用

最近很多应用都在用的pushViewContoller效果,比如百度地图。希望能够帮助到大家。

2014-01-21

ScrollView循环滚动

scrollView上的图片循环滚动,支持图片点击事件

2013-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除