5 拾光2015

尚未进行身份认证

我做不了十几岁的少年天才,但愿到三十多岁能成为一个优秀工程师

等级
TA的排名 4w+

面试常问的Runloop和Runtime基础

一:Runloop不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生。给我们的感觉就像应用一直处于随时待命的状态,在没人操作的时候它一直在休息,在让它干活的时候,它就能立刻响应。其实,这就是run loop的功劳。线程与run loop...

2018-02-08 16:00:54

关于Objective-C中的@property以及属性分析

前言:关于@property可能你每天都在使用,然而@property真正意义以及里面的属性内容是很多人容易忽略的地方。重要的事情说三遍,这是重点重点重点。一:@property到底是什么?@Property是声明属性的语法,它可以快速方便的为实例变量创建存取器,并允许我们通过点语法使用存取器。 存取器(accessor):指用于获取和设置实例变量的方法。用于获取实例变量值的存取器是getter,

2017-10-16 14:48:43

iOS工厂模式的实质性总结

最近在公司搞分享活动,索性就分享了工厂模式这个看似大家都不重视的设计模式。实际上开发过程中用到的场景不少啊。经过初步的了解和认识工厂之后,再去你们公司项目工程里面看看代码,肯定有不少之处用到了工厂模式。然而想用到如火纯青,还需要我们不断的练习。这篇文章目的不是让你立马都可以使用这个模式,而是能够在思想上有一种工厂模式的意识。

2017-08-17 18:11:43

Realm数据库增删查改,加密以及其他相关特性

Realm使用方法及相关特性最近接触到Realm数据库,经过几天研究感觉Realm就是为速度而生的!在保证了ACID的要求下,很多设计都是以速度为主。当然,Realm 最核心的理念就是对象驱动,这是 Realm 的核心原则。Realm 本质上是一个嵌入式数据库,但是它也是看待数据的另一种方式。它用另一种角度来重新看待移动应用中的模型和业务逻辑。下面是使用方法以及一些特性1. 创建数据库- (vo

2016-12-02 14:33:13

iOS dealloc 不执行或延迟执行的问题

1)不执行dealloc1.查看是不是循环引用造成的类不销毁2.调用其他类的时候查看有没有将本类中的对象传过去,例如self,self.tableview 传的时候注意使用weak,不要使用strong 否则会造成当前类无法释放,dealloc不执行一直占用内存3.performSelector 关于内存管理的执行原理是这样的执行 [self performSelector:@select

2016-06-21 21:51:45

正则表达式总结

验证数字:^[0-9]*验证n位的数字:\dn 验证n位的数字:^\d{n} 验证至少n位数字:^\d{n,}验证m−n位的数字:\dm,n 验证m-n位的数字:^\d{m,n}验证数字和小数点:^[0-9]+([.]{0}|[.]{1}[0-9]+)验证零和非零开头的数字:(0|[1−9][0−9]∗) 验证零和非零开头的数字:^(0|[1-9][0-9]*) 验证有两位小数的正实

2016-06-21 21:49:19

App store 下载软件失败的解决办法总结

1: 可以尝试改DNS,比如改成8.8.8.8 或者114.114.114.114, 很可能解决. 背后原理不清楚2: 打开Terminal 输入defaults write com.apple.appstore ShowDebugMenu -bool true 打开Mac AppStore的调试模式,清空Cookies或Reset Application重置一下程序即可。3: 关机

2016-06-21 21:45:46

iOS开发中解决滑动页面时候卡顿掉帧问题

在开发中我们常常会遇到布局比较复杂的cell,在滑动的时候会导致界面不流畅,出现卡顿的现象,这是由于CPU计算和GPU渲染,之间未及时交换数据丢失帧导致的结果。imageView尽量设置为不透明opque尽量设置为YES当imageView的opque设置为YES的时候其alpha的属性就会无效,imageView的半透明取决于其图片半透明或者imageView本身的背景色合成的图层view是半

2016-06-07 16:22:13

iOS音频处理技术-TAAE

TAAE(The Amazing Audio Engine)是一个开源的音频应用开发框架,专门针对iOS系统。它能够自动混合多种音频信号,提供复杂的多通道音频输入支持,详细记录系统输出信息,进行应用内会话监控等。TAAE由“Audiobus”的开发者Michael Tyson参与完成。Audiobus是一款音频处理应用,它就像是一根虚拟连接线,将一个个原本独立的音乐应用连接起来,起到很好的串联作用。

2016-06-06 15:02:16

iOS音频技术的研究-音频格式

**什么是音频格式**这个问题我也是查了很久才弄明白的。音频格式其实是指容器的类型,在通俗一点就是声音文件的类型,比如说“我爱你中国.mp3”,这个声音文件的音频格式就是MP3。 这里稍微引入一些音频编码的东西。很多第一次涉及这个领域的(比如说我哈),很容易弄不清音频格式和音频编码的区别和联系,比如音频格式中有MP3格式,音频编码中有MP3编码,这时候多数人就不明白了。 音频编码本质是一种算法,

2016-06-06 13:48:40

iOS开发--UIWebview与H5之间的交互

随着互联网产业的发展,在移动开发的过程中原生与H5的混合开发在移动开发中占据着越来越重要的地位。下面介绍开发中的一些心得 1: 将HTML页面加载到UIWebview控件中: A:本地加载: NSString *webPath = [[NSBundlemainBundle]pathForResource:@“HelloWord"ofType:@"html”];//获取文件路

2015-12-01 15:58:51

IOS 如何选择delegate、Notification、KVO?

在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-observation/,因为博文是用英文写的,下面将其翻译成中文。 在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应

2015-11-04 11:01:00

iOS开发 实现QQ第三方登录

现在大多数App在登录时候都会有第三方登录,如QQ,微信,微博等,如下面的截图下面我们主要讲一下qq的第三方登陆如何实现首先,到官网注册:一,下载SDK下载SDK 地址:http://wiki.open.qq.com/wiki/mobile/SDK 一定要下载最新版本的iOS_SDK 二,SDK的目录结构 下载的文件结构如下 --------------------------

2015-11-03 19:45:22

支付宝框架集成 使用步骤

第三方支付的流程实现支付宝支付的准备工作 1.向支付宝”签约” 成为支付宝的”商户” ,签约完成后,支付宝会提供一些必要的数据给我们(商户ID-partner,帐号ID-支付宝帐号) •签约需要营业执照2.获取支付相关的’私钥’和 ‘密钥’ –> 数据安全?3.下载支付的SDK4:生成订单信息5:调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道6:支付完毕后返回支付结果给商户客户端和服

2015-11-02 16:28:23

iOS App审核被拒的解决经历

2014年2月初开始,Apple开始拒绝采集IDFA(identifier for advertising)而未集成任何广告服务的应用进入AppStore。 为解决此问题,一般的SDK都为用户提供两个版本的SDK,包括采集IDFA的标准版和不采集IDFA的无IDFA版。1、程序有重大bug,程序不能启动,或者中途退出。 2、绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币。 3、游戏里有实

2015-11-02 16:25:38

多线程(GCD,socket,http.TCP,UDP,block)

1.线程是什么?进程是什么?二者有什么区别和联系? 线程是CPU独立运行和独立调度的基本单位(可以理解为一个进程中执行的代码片段),进程是资源分配的基本单位(进程是一块包含了某些资源的内存区域)。 进程是线程的容器,真正完成代码执行的是线程,而进程则作为线程的执行环境。 一个程序至少包含一个进程,一个进程至少包含一个线程,一个进程中的多个线程共享当前进程所拥有的资源。2

2015-11-02 16:24:15

CoreData

Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类。(1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系(2)NSManagedObjectContext(被管理的对象上下文) 操作实际内容 作用:插入数据 查询 更新

2015-11-02 16:21:00

iOS瀑布流三种实现思路总结

瀑布流介绍瀑布流可以在保证图片原始比例的情况下,灵活的展现内容,相对于传统的使用相同大小的网格展现大量图片,效果上要好上很多,而实现瀑布流的方式有很多种,网上比较流行的有三种实现方式。 1,使用UIScrollView,主要技术点在于视图的重用。 2,使用UITableView,这种方式应该是最易想到的,因为需要展现几列就用几个tabelview就ok了,而且不需要考虑重用,因为苹果已经做好了,

2015-10-31 10:14:41

__Block和__Weak的区别

__Block1.__block对象在block中是可以被修改、重新赋值的。 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) = ^(int num) { multiplier ++;//这样就可以了 return num * multiplier; };2

2015-10-30 19:52:26

3DTouch Demo

Demo下载链接: http://pan.baidu.com/s/1hqKxIx2 密码: kgfp创建一个新的工程 配置info.plist文件 如下图 在 AppDelegate.h文件里面#import <UIKit/UIKit.h>@interface AppDelegate : UIResponder <UIApplicationDelegate>@property (stron

2015-10-29 19:45:33

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!