自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 GCD的一些用法

GCD是Grand Central Dispatch 的缩写. 即多线程优化技术. 它可以提供线程安全的队列,串行队列和并行队列,同步和异步执行任务.在队列中, 有很多回调块的执行单位, 完成一个任务后就回调块继续执行.GCD队列特点: 1. 不是为了通常的数据存储而设计的 2. 它没有取消功能, 没有随机访问功能 3. 使用合理的数据结构来解决问题简单的创建队列dispatc

2015-05-03 23:43:13 1942

原创 WWDC - iOS内存性能及原理 笔记

iOS内存的基本原理内存是如何初始化和被管理的?在iOS内,指针的地址范围很大, 32位CPU上有 4GB 大小, 64位CPU上有 18EB 大小 (大约有2的60次方), 这么大的指针地址范围会致使我们看来系统内存有这么大,实际上物理内存可能没有这么大,这个大小被称为虚拟内存, 在OS X 中系统使用硬盘来存储内存中不经常使用的数据来作为内存的后备存储, 在内存中存有硬盘数据的指针地址, 需要

2015-04-27 17:50:57 2167

原创 WebViewJavascriptBridge源码解读

WebViewJavascriptBridge是一个连接javascript和iOS Native交互的开源框架,github地址, 使用它可以在UIWebview中响应时间并执行Native方法,也可以使用Native方法调用javascript方法, 正如其名,它好像已做桥梁连接了两端.首先看看如何使用它,

2015-04-27 00:20:09 1941

翻译 事件处理指南(Event Handling Guide for iOS) 阅读笔记 (二) 响应链

Event Delivery: The Responder Chain我们希望在我们的app中可以动态的响应触摸事件.比如一个触摸可能会发生在屏幕上不同的位置和不同的组件上, 我们需要判断哪个组件响应这个触摸并且了解这个组件是如何接受到触摸事件的.当一个用户触摸事件发生了, UIKit会创建一个包含需要被处理的事件信息的对象.然后将这个对象放入当前的事件循环队列中,对于触摸事件,这个对象被创建为 U

2015-04-26 16:06:34 1865

翻译 事件处理指南(Event Handling Guide for iOS) 阅读笔记 (一) 手势识别

首先给出文档下载地址 :  https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/EventHandlingiPhoneOS.pdf总览: 1. 应用可以从用户触摸VIew得到事件.2. 应用可以从用户移动设备得到事件.3. 应

2015-04-26 10:47:14 1387

原创 [Apple官方文档翻译]: NSURLSession Programming Guide

关于URL加载系统这个文档描述了Foundation框架中的与URL交互的一些类和与服务器交互的标准互联网协议. 这些类统一称为URL加载系统.URL加载系统是一个一些类和协议组成的允许应用通过URL来访问内容的合集. 其中核心的类就是NSURL,它负责产生出URL和资源的位置.为了支持这些类的运行,Foundation框架提供了很多类来使用,比如:加载内容,上传数据到服务器,管理cookie,控制

2016-05-09 10:50:31 2549

原创 iOS面试题汇总

NSArray 和 NSMutableArray 的区别(线程方向)? NSArray是线程安全的, NSMutableArray是线程不安全的, 多线程中使用 需要 手动加锁 NSLock 或使用 @synchronized 修饰.Autorelease pool 实现原理? 在ARC中使用 @@autoreleasepool修饰需要手动添加到释放池的代码.大概意思是autorelease

2016-04-01 13:57:55 2210

原创 iOS应用被拒原因总结(随时更新)

欢迎留言补充~!若使用了后台定位,后台播放的功能不能被审核员演示出来或过程非常复杂的, 可能会被拒绝.解决办法: 录制一段演示视频提供给审核员,在备注信息中添加一个可以在线播放视频的URL地址就可以了.若有类似”关于”这样的说明并带有版本号信息的地方, 不能有点击效果. 审核员会认为软件使用了自己的升级方式而拒绝通过.Also, your app has the UIFileSharingEn

2015-10-08 14:38:42 6120

翻译 Reactivecoco 文档翻译(1) 基本操作方法

这个文档说明了一些经常使用的操作,并且有例子说明. 操作主要是运用序列(sequences)和信号(signal)的流(stream)操作.Side Effect: 信号的副作用, 边际效应 (本人的理解..)用信号实现信号的副作用绝大多数信号创建的时候是 “冷信号”, 即直到信号被订阅后才能执行的信号. 在订阅的基础上, 信号或者订阅者可以执行一些信号的副作用方法, 比如输出一些log, 发起网络

2015-09-30 11:03:40 598

翻译 Location and Maps Programing Guide(一)

关于定位服务和地图在你的应用中使用基于位置信息的服务可以很好的使用户保持于周围世界的连接.当你为了特殊的目的(比如导航)或者娱乐,使用基于位置信息的服务可以整体增强用户的体验. 基于位置信息服务包含两个方面: 定位服务和地图. 定位服务通过 Core Location framework来提供,它定义了一些Objective-C的接口来获取用户的location(位置)和heading(设备指向的

2015-07-27 20:39:32 1488

翻译 钥匙串(Keychain)服务编程指南-iOS部分

介绍钥匙串服务提供了一种安全存储信息的方式,比如:密码,关键字,证书和一个或一些用户的数据. 一个用户只能通过一个密码解锁钥匙串,然后钥匙串会为其对应的应用存储和获取密码.下面会讨论经常被开发者使用的用于存储的数据结构和钥匙串如何为你服务.如果你需要处理以下的密码相关的问题,你需要这个文档:多用户 – 比如:一个邮件或调度服务器需要认证许多用户多服务器 – 比如:一个银行或保险的应用需要于多个数

2015-06-30 10:12:53 3056

原创 iOS深拷贝和浅拷贝

深浅拷贝浅拷贝:指针拷贝,指针增加一份,内容不变,原有内容retainCount加1 深拷贝:内容拷贝,指针内容都增加一份,原有内容retainCount不变对于非容器类不可变对象 方法 复制类型 结果可变性 copy 指针复制 immutable mutableCopy 内容复制 mutable copyWithZone

2015-06-24 10:31:55 960

原创 c语言实现冒泡排序

void BubbleSort(int *arr, int len) { for (int i = 0; i < len - 1; ++i) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) {

2015-05-24 23:04:44 664

原创 C语言实现快速排序

快速排序#include <stdio.h>#include <stddef.h>void swap(int * a, int * b) { int tmp = * a; * a = * b; * b = tmp;}// partition 作用是将基值移动到中间位置, 使得左边的值都比基值小, 右边的值都比基值大// pivot_i: 基值的位置size_t partitio

2015-04-26 09:38:32 669

原创 C语言实现直接插入排序

void insertion_sort(int *array, int first, int last) { int i, j, temp; for (i = first + 1; i < last; i++) { // 默认第一元素有序,从第二个元素开始遍历 temp = array[i]; // 保存无序区首元素

2015-04-24 09:28:06 524

原创 C语言实现2路归并排序

C语言实现归并算法#include #include #define N 7void merge(int arr[], int low, int mid, int high){ int i, k; int *tmp = (int *)malloc((high-low+1)*sizeof(int)); //申请空间,使其大小为两个 int left_low = low; int left_high

2015-04-23 22:20:56 1273

转载 Variable property attributes or Modifiers in iOS

Variable property attributes or Modifiers in iOSVariable property attributes or ModifiersProperty Attributes Indicate Data Accessibility and Storage ConsiderationsUse Acces

2015-04-20 09:38:13 710

原创 Python 笔记

dir() help()  列出方法帮助range(start, stop, step)  //默认 start=0, step=1 可以不写   lambda  // 声明匿名函数时使用string 方法find(s, sub [,start [,end]]) -> in    // 找某个字符或字符串的位置lower() //

2015-04-15 23:49:17 522

原创 Git使用心得

1. origin master 主线 存放稳定版本git pushgit pull2. dev 存放开发版本git branch 查看分支git checkout 分支名  切换分支git checkout -b 分支名  创建分支并切换3. 开发人员各自建立自己的branch 做开发, 在dev上合并代码   4. 解决bug 先保存当前分支内容

2015-04-10 10:26:45 430

原创 UISearchBar 更改内部颜色的方法及失败原因

原生控件USearchBar 里面包含了几个view和一个UITextField, 下面是树结构; layer = >   | >   |    | >   |    | ; layer = >   |    |    | >   |    |    | >我们要自定义原生控件的外观, 比如说要更改输入框背景颜色, 需要找到UITextField 并更改属性即可

2015-03-14 16:44:58 1337

转载 Cocoapods无法找到头文件,CocoaPods 错误 target overrides the `OTHER_LDFLAGS`...

CocoaPods 错误 target overrides the `OTHER_LDFLAGS`...Xcode 升级到 6.0 后,更新 CocoaPods,出现了如下的警告[!] The `Paopao [Debug]` target overrides the `PODS_ROOT` build setting defined  

2015-03-09 09:55:22 997

原创 iOS应用内跳转appstore

这里可以搜索应用的链接https://linkmaker.itunes.apple.com也可以在itunes里应用详情页面 点击价格旁边的下拉按钮 复制链接即可.当我们开发的时候需要让用户评价功能或跳转appstore 下载等需求 需要使用app下载地址, 改地址可以在itunesconnect后台中我的应用中, 选中更多点击在apptore 中查看应用,复制链接即可.

2014-12-30 09:31:16 4497

原创 iOS7新特性之后台任务-Background Multitasking

iOS7发布了关于后台多任务的增强特性,ji

2014-07-16 20:42:01 1050

原创 iOS中使用cocoaPods管理第三方类库

关于cocoapods网上有很多说明了,这里就直接摘录啦.首先发几个我认为有用的关于coocapods学习的网址:官方网址:http://guides.cocoapods.org/  这里有guideline几个比较原版的博客: http://code4app.com/spark/5274b66e6803fab041000000

2014-01-05 19:25:00 1968

原创 iOS开发中使用OCUnit进行单元测试

最近看了一下单元测试相关的内容,虽然对单元测试,有很多开发人员有不同的意见,但是我觉得单元测试对整个项目和个人的代码质量提高有很高的促进作用.单元测试和 TTD开发的解释网上很全,比如:https://zh.wikipedia.org/zh/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91http://baike.baidu.

2013-12-30 23:01:04 2276

原创 学会使用断言式编程--断言在iOS中的使用

在代码编程中使用断言来预警意想不到的情况发生是非常好的习惯并且会节省很多调试时间,使我们高效的开发程序.如果想看专业的名词解释可以参看:http://zh.wikipedia.org/wiki/%E6%96%B7%E8%A8%80_(%E7%A8%8B%E5%BC%8F)下面是我参看了中第八章防御式编程 的内容简要总结的,我们在编写函数的时候,要做到:1.检查所有来源于外部的值

2013-12-25 23:27:23 1866

转载 XCode Debugger中的Icon符号的意义

今天看到 唐巧的博客发布的一片调试Icon符号的意义的博客,感觉很好,现在转发出来.你注意到了吗?在Xcode中,当你点击查看调用栈的时候,调用栈的每个方法前面都有一个Icon,而且还有好几种不同的样子,如下图所示,你知道它们代表什么意思吗?其实它们代表的意义如下:Person icon is UserMug icon is AppKit (or

2013-12-24 22:44:28 1077

原创 简单SVN命令(一)

由于不会svn命令行方式,总感觉少了点什么,最近正在看如何通过命令行来操作代码库,在这里记录下学习笔记,有的部分可能不正确,帮忙指正哈.从svn help中我们能看到,svn 命令不是很多,常用的就这些   如果我们自己要联系这些命令的用法,最好先自己搭建一个svn服务器,如何搭建其实很简单,网上也有很多教程,我是在window上搭建的.比如说:http://www

2013-12-24 22:15:25 1166

原创 iOS简单的本地化应用程序

以下是学习的一点笔记,仅供参考.为什么要做国际化和本地化呢?如果需要你的应用程序支持不同的国家地区和语言,那么首先是需要将程序国际化,支持多语言,国际化其实就是本地化的一种整理本地化资源的一种技巧.然后需要本地化翻译应用程序读出和显示的内容,其中还包括一些内容上的本地化适配.首先需要本地化应用程序的名字--显示在桌面的APP名称1.找到工程文件 Info 下面的Localiza

2013-12-24 00:35:30 938

空空如也

空空如也

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

TA关注的人

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