自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

转载 __weak和__block探究与区别

准备工作首先我定义了一个类 MyObject 继承 NSObject,并添加了一个属性 text,重写了description方法,返回 text 的值。这个主要是因为编译器本身对 NSString 是有优化的,创建的 string 对象有可能是静态存储区永不释放的,为了避免使用 NSString 引起一些问题,还是创建一个 NSObject 对象比较合适。另外我自定义了一

2017-01-05 11:22:08 675

转载 如何用同一个工程创建两个不同版本的应用

如果同一个应用, 需要做一个带广告Lite版本, 一个不带广告的Pro版本. 那么问题来了, 该如何优雅的去实现呢?一般来说有两种实现方法:一个把当前工程拷贝然后再修改, 这样做会导致后期维护成本过高, 每次修改都要同时改两个工程, 到后期修改简直提心掉胆, 不过操作傻瓜式.另外一个种就是在一个Project里面创建两个Target, 然后通过判断Target来修改代码,

2016-11-23 15:53:00 865

转载 git 使用详解-- tag打标签

Git 的标签管理。跟大多数的 VCS 工具一样,git 也有在历史状态的关键点“贴标签”的功能,一般人们用这个功能来标记发布点(例如’v1.0′)。列出git中现有标签要想列出git中现有的所有标签,输入’git tag’命令运行即可:$ git tagv0.1v1.3这个列表是按照字母表顺序给出的,其实排名先后跟重要程度没有直接联系。当然,你也可

2016-11-22 16:30:39 358

转载 iOS之事件的传递和响应机制

前言:按照时间顺序,事件的生命周期是这样的:  事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到最合适的view后事件的处理(touches方法的重写,也就是事件的响应)其中重点和难点是:  1.如何寻找最合适的view  2.寻找最合适的view的底层实现(hitTest:withEven

2016-09-26 10:52:47 377

转载 iOS 如何随意的穿插跳跃,push来pop去

主题思想:如A、B、C、D 四个视图控制器想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A解决方法如下:1.假如此时在 A 控制器下,想要到 push 到 B, 可以这样写[self.navigationController pushViewController: B :YES];这时 self.

2016-09-12 15:36:31 505

转载 欲先攻其事必先利其器 (第三方资源篇)

一:源代码实例1:快速搭建项目源代码地址:https://github.com/wujunyang/MobileProject2:高仿美团iOS版地址:https://github.com/lookingstars/meituan3:模仿网易新闻做的精仿网易新闻地址:https://github.com/dsxNiubility/SXNews

2016-07-19 12:21:33 6634

转载 Xcode 创建.a和framework静态库

库介绍库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。iOS中的静态库有 .a 和 .framework两种形式;动态库有.dylib 和 .framework 形式,后来.dylib动态库又被苹果替换成.tbd的形式。静态库与动态库的区别静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行

2016-07-14 11:01:57 285

转载 iOS中的单例你用对了么?

单例模式怎么定义的,可能在不同的语言,不同的书中不完全一样,但是概况开来都应该是:一个类有且仅有一个实例,并且自行实例化向整个系统提供。因此,首先你可能需要确定你是真的需要一个单例类,还是说仅仅是需要一个方便调用的实例化方法。如果你是真的需要一个单例类,那么你就应该确保这个单例类,有且仅有一个实例(不管怎么操作都只能获取到这个实例)。最近看到一些github上的单例使用,别人的用法

2016-07-13 09:53:46 1767

转载 Objective C类方法load和initialize的区别

先来看看NSObject Class Reference里对这两个方法说明:+(void)initializeThe runtime sends initialize to each class in a program exactly one time just before the class, or any class that inherits from it, is se

2016-07-13 09:52:25 308

转载 Masonry介绍与使用实践:快速上手Autolayout

前言MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window

2016-07-08 10:24:12 313

转载 iOS标准时间与时间戳相互转换

设置时间显示格式:      NSString* timeStr = @"2011-01-26 17:40:50";      NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];      [formatter setDateStyle:NSDateFormatterMediumStyle

2016-05-25 09:44:53 403

转载 iOS本地数据存取,看这里就够了

iOS本地数据存取,看这里就够了应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)应用沙盒的文件系统目录应用沙盒结构分析应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件Documents

2016-05-05 14:01:07 2297

转载 UIView 中常见的方法总结

UIView 中常见的方法总结addSubview: 添加一个子视图到接收者并让它在最上面显示出来。 - (void)addSubview:(UIView *)view 讨论 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表,那么视图将会被释放。如果你想要在视图移除显示列表後保留并

2016-05-03 10:52:12 335

原创 iOS两个App应用之间的跳转

步骤: 1,添加URL Types项 2,配置URL Scheme 3,其他应用的跳转 4,参数的接收 开发iOS项目的时候,有可能会遇到两个APP应用相互调用的需求,比如说:支付宝支付......等等。下面来详细介绍实现的步骤:1,添加URL Types项a,打开项目中info.plist文件,在infomation property list

2016-04-20 09:26:55 4092 2

转载 正则表达式在iOS中的运用

一、什么是正则表达式  正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 二、正则表达式的语法  看一个过滤纯数字的例子- (BOOL)validateNumber:(NSString *) textString

2016-04-19 09:43:32 295

转载 Git 常用命令整理

初始化配置 C代码  #配置使用git仓库的人员姓名  git config --global user.name "Your Name Comes Here"    #配置使用git仓库的人员email  git config --global user.email you@yourdomain.example.com    #配置到缓存 默认

2016-04-18 15:11:14 791

转载 那些著名或非著名的iOS面试题(下)

1. RuntimeObjective-C 是面相运行时的语言(runtime oriented language),就是说它会尽可能的把编译和链接时要执行的逻辑延迟到运行时。这就给了你很大的灵活性,你可以按需要把消息重定向给合适的对象,你甚 至可以交换方法的实现,等等。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。OC的函数调用成为消息发送。属

2016-04-18 09:53:54 283

转载 那些著名或非著名的iOS面试题(中)

接上篇:那些著名或非著名的iOS面试题(上),本文继续介绍一些著名或非著名的iOS面试题。1. 反转二叉树,不用递归/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *    

2016-04-15 09:25:26 490

转载 那些著名或非著名的iOS面试题(上)

1.如何追踪app崩溃率,如何解决线上闪退当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上。crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因。通常来说,crash产生来源于两种问题:违反iOS系统规则导致的crash和App代码逻辑BUG

2016-04-14 17:34:05 593

转载 iOS多线程篇:NSThread

一、什么是NSThreadNSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。二、NSThread方法介绍1)动态创建NSThread * newThread = [[NSThread alloc]initWithTarget:self sel

2016-04-12 10:50:42 244

转载 iOS内存管理

前言现在iOS开发已经是arc甚至是swift的时代,但是内存管理仍是一个重点关注的问题,如果只知盲目开发而不知个中原理,踩坑就跳不出来了,理解好内存管理,能让我们写出更有质量的代码。内存管理是程序设计中很重要的一部分,程序在运行的过程中消耗内存,运行结束后释放占用的内存。如果程序运行时一直分配内存而不及时释放无用的内存,会造成这样的后果:程序占用的内存越来越大,直至内存消耗殚尽,

2016-04-11 14:25:16 300

转载 为您揭开runtime的神秘面纱

最近想换工作,本来信心满满的,可直到面试,才知道自己所掌握知识的薄弱的地方。于是针对面试薄弱,我开始了runtime的学习.以下将以我的学习过程来给大家讲解runtime这个非常重要,但是又很宽泛的一个东西,希望给迷茫中的你一点帮助.也作为自己的学习笔记.什么是runtime?runtime直译就是运行时间,run(跑,运行) time(时间),网上大家都叫它运行时,它是一套比较底

2016-04-11 11:34:46 350

iOS支付宝最新demo

iOS支付宝最新demo

2016-11-22

空空如也

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

TA关注的人

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