自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术之窗

迷茫不是你堕落的理由!-心中充满阳光。

  • 博客(258)
  • 资源 (4)
  • 收藏
  • 关注

翻译 CoreAnimation编程指南(五)图层内容

当我们使用Cocoa的视图的时候,我们必须继承NSView或者UIView并且重载函数drawRect:来显示任何内容。但是CALayer实例可以直接使用,而无需继承子类。因为CALayer是一个键-值编码兼容的容器类,你可以在实例里面存储任意值,所以子类实例化完全可以避免。1.1 给CALayer提供内容你可以通过以下任何一种方法指定CALayer实例的内容:使用包含

2015-07-15 11:16:43 293

翻译 CoreAnimation编程指南(四)图层树结构

图层不但给自己提供可视化的内容和管理动画,而且充当了其他图层的容器类,构建图层层次结构。本章介绍了图层层次结构,以及如何操纵该图层层次结构。 1.1 什么是图层树的层次结构图层树是核心动画里面类似Cocoa视图的层次结构。比如一个NSView或者UIView的实例拥有父视图(superview)和子视图(subview),一个核心动画的图层拥有父图层(suplaye

2015-07-15 11:15:13 331

翻译 CoreAnimation编程指南(三)几何变换

本章介绍图层的几何组成部分,及他们之间的相互关,同时介绍如何变换矩阵可以产生复杂的视觉效果。 1.1 图层的坐标系图层的坐标系在不同平台上面具有差异性。在iOS系统中,默认的坐标系统原点在图层的中心左上角地方,原点向右和向下为正值。在Mac OS X系统中,默认的坐标系原点在图层的中心左下角地方,原点向右和向上为正值。坐标系的所有值都是浮点类型。你在任何平台上面创建的图层都

2015-07-15 11:13:49 335

翻译 CoreAnimation编程指南(二)渲染架构

虽然核心动画的图层和 Cocoa的视图在很大程度上没有一定的相似性,但是他们两者最大的区别是,图层不会直接渲染到屏幕上。    在模型-视图-控制器(model-view-controller)概念里面NSView和UIView是典型的视图部分,但是在核心动画里面图层是模型部分。图层封装了几何、时间、可视化属性,同时它提供了图层现实的内容,但是实际显示的过程则不是由它来完成。每个可

2015-07-15 11:12:23 270

翻译 CoreAnimation编程指南(一)概念

第一章      核心动画概念核心动画是一套包含图形绘制,投影,动画的Objective–C类集合。它通过开发人员所熟悉的应用程序套件和Cocoa Touch视图架构的抽象分层模式,同时使用先进的合作效果提供了一套流畅的动画。动态的动画接口很难创建,但是核心动画通过提供如下接口使这些创建起来变得更加简单:简单易用的高性能混合编程模型。类似视图一样,你可以通过使用图层

2015-07-15 11:11:02 328

翻译 CoreAnimation编程指南(简介)

核心动画编程介绍本文档介绍了在使用核心动画时所涉及的基本概念。核心动画的是Objective - C的框架,它通过简单的动画编程接口来提供一套高性能的动画引擎。你应该阅读此文档来理解Cocoa应用程序核心动画工作的机制。 阅读此文档的前提是你已经掌握了Objective-C语言的基础,因为核心动画内部广泛的使用了Objective-C的相关属性。你还应该熟悉键-值编程方法(参考文档

2015-07-15 11:09:41 337

翻译 iOS多线程编程指南(附录)

本附录描述了Mac OS X和iOS上面一些关键的高级线程安全的框架。本附录的信息有可能会发生改变。Cocoa在Cocoa上面使用多线程的指南包括以下这些:不可改变的对象一般是线程安全的。一旦你创建了它们,你可以把这些对象在线程间安全的传递。另一方面,可变对象通常不是线程安全的。为了在多线程应用里面使用可变对象,应用必须适当的同步。关于更多信息,参阅”可变和不可变对比”

2015-07-15 11:05:01 305

翻译 iOS多线程编程指南(四)线程同步

第四章      线程同步应用程序里面多个线程的存在引发了多个执行线程安全访问资源的潜在问题。两个线程同时修改同一资源有可能以意想不到的方式互相干扰。比如,一个线程可能覆盖其他线程改动的地方,或让应用程序进入一个未知的潜在无效状态。如果你幸运的话,受损的资源可能会导致明显的性能问题或崩溃,这样比较容易跟踪并修复它。然而如果你不走运,资源受损可能导致微妙的错误,这些错误不会立即显现出来,而是

2015-07-15 11:01:38 417

翻译 iOS多线程编程指南(三)Run Loop

Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fund

2015-07-15 11:00:01 255

翻译 iOS多线程编程指南(二)线程管理

线程管理Mac OS X和iOS里面的每个进程都是有一个或多个线程构成,每个线程都代表一个代码的执行路径。每个应用程序启动时候都是一个线程,它执行程序的main函数。应用程序可以生成额外的线程,其中每个线程执行一个特定功能的代码。当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体。每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片。一个线程可以和其他线

2015-07-15 10:58:24 509

翻译 iOS多线程编程指南(一)关于多线程编程

第一章      关于多线程编程多年来,计算机的最大性能主要受限于它的中心微处理器的速度。然而由于个别处理器已经开始达到它的瓶颈限制,芯片制造商开始转向多核设计,让计算机具有了同时执行多个任务的能力。尽管Mac OS X利用了这些核心优势,在任何时候可以执行系统相关的任务,但自己的应用程序也可以通过多线程方法利用这些优势。1.1        什么是多线程多线程是一个比较轻

2015-07-15 10:57:14 342

翻译 iOS多线程编程指南-目录

什么是多线程1.2         线程术语1.3         多线程的替代方法1.4         线程支持1.5         设计技巧第二章          线程管理2.1         线程成本2.2         创建一个线程2.3         配置线程属性2.4         编写你线程的主

2015-07-15 10:56:28 216

翻译 GCD外传:dispatch_once(上)

相信大家对dispatch_once都不陌生了,这一篇我将和大家一起探究dispatch_once的更多细节。dispatch_once的作用正如其名:对于某个任务执行一次,且只执行一次。 dispatch_once函数有两个参数,第一个参数predicate用来保证执行一次,第二个参数是要执行一次的任务block。1234

2015-07-15 10:30:44 526

翻译 GCD入门(四): 完结

Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用  dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个函数也可以用于dispatch source。一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会

2015-07-15 10:28:48 374

翻译 GCD入门(三): Dispatch Sources

何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Ma

2015-07-15 10:22:52 211

翻译 GCD入门(二): 多核心的性能

概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)

2015-07-15 10:21:51 307

翻译 GCD入门(一): 基本概念和Dispatch Queue

什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC

2015-07-15 10:18:22 276

翻译 GCD(Grand Central Dispatch)教程

Grand Central Dispatch或者GCD,是一套low level API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。在cocoa开发中,GCD与B

2015-07-15 10:16:10 289

原创 Block介绍(四)解开神秘面纱(下)

终于有空开始这系列最后一篇的编写。这一篇,我们将看到block的内存管理的内部实现,通过剖析runtime库源码,我们可以更深刻的理解block的内存运作体系。看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开):http://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/BlocksRuntime/runti

2015-07-15 10:08:27 527

原创 Block介绍(三)解开神秘面纱(上)

上一篇我们总结了各个情况下,block及其引用到的内存位置情况。接下来几篇,我们将剖析编译器转码以及运行时库源码来一探block的究竟。 block到底是什么我们使用clang的rewrite-objc命令来获取转码后的代码。 1、block的底层实现我们来看看最简单的一个block:[caption id="attachment

2015-07-15 10:06:43 538

原创 Block介绍(二)内存管理与其他特征

我们在前一章介绍了block的用法,而正确使用block必须要求正确理解block的内存管理问题。这一章,我们只陈述结果而不追寻原因,我们将在下一章深入其原因。一、block放在哪里我们针对不同情况来讨论block的存放位置:1.栈和堆以下情况中的block位于堆中:123456

2015-07-15 10:03:49 424

原创 Block介绍(一)基础

一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。 二、热身先看一个比较简单的Block例子:1234intmultiplier =

2015-07-15 10:00:56 369

翻译 iOS开发之UISearchBar初探

UISearchBar也是iOS开发常用控件之一,点进去看看里面的属性barStyle、text、placeholder等等。但是这些属性显然不足矣满足我们的开发需求。比如:修改placeholder的颜色、修改UISearchBar上面的UITextfield的背景颜色、修改UITextfield上面的照片等等。为了实现上述的需求,最好写一个UISearchBar的子类就叫LSSearc

2015-07-14 15:57:25 227

翻译 iOS开发中的gcd多线程tips

本篇文章会持续更新:我们经常用到的:dispatch_async(dispatch_get_global_queue(0, 0), ^{ // 处理耗时操作的代码块 //通知主线程刷新 dispatch_async(dispatch_get_main_queue(), ^{ //回调或者说是通知主线程刷新

2015-07-14 15:40:52 260

翻译 iOS 7中实现模糊效果教程

iOS 7在视觉方面有许多改变,其中非常吸引人的功能之一就是在整个系统中巧妙的使用了模糊效果。许多第三方应用程序已经采用了这样的设计细节,并以各种奇妙的和具有创造性的方式使用它。本文将通过几种不同的技术来实现iOS 7中的模糊效果,当然,这一切都利用了一个名为GPUImage的框架。GPUImage是由Brad Larson创建的,它利用GPU,使在图片和视频上应用不同的效果和滤镜

2015-07-14 15:38:48 1149

翻译 iOS开发大众点评URL签名生成规则和SHA-1编码

URL签名生成规则所有大众点评API的有效访问URL包括以下三个部分: 1. 资源访问路径,如/v1/deal/find_deals; 2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用&连接 如deal_id=1-85462&appkey=00000; 3. 签名串,由签名算法生成签名算法如下: 1. 对除appkey以外的所有请求参数进

2015-07-14 15:10:42 870

翻译 NSMutableURLRequest和NSURLConnection用Post方式上传照片

需求:上传一张照片和内容,内容包括:用户编辑的内容、经纬度、地点等等,就是类似发一个说说。这就是一个很平常的功能,实现的方式想必各位能想到很多。接下来我想用系统的NSURLConnection来实现这个功能:首先我们要定义一个全局变量:/** * 请求返回数据 */@property (nonatomic, strong) NSMutableData *mRespons

2015-07-14 15:05:37 452

翻译 程序员福利各大平台免费接口,非常适用

气象局接口:http://m.weather.com.cn/data/101010100.html音乐接口虾米接口http://kuang.xiami.com/app/nineteen/search/key/歌曲名称/diandian/1/page/歌曲当前页?_=当前毫秒&callback=getXiamiDataQQ空间音乐接口http://qzone-

2015-07-14 14:45:27 1531

翻译 iOS开发:git命令返回任意一个版本的方法

git回退某一个版本的方法:一:记录回退的hash值首先要查看你要回退到哪一个版本方法1:git log会展示最新的提交记录,然后你按着键盘的“向下”键,看更多的提交记录,记住你要回退的哪一个版本的hash值方法2:git reflog会展示最近操作的记录,然后你记住要回退的hash值二:执行回退命令

2015-07-14 14:43:11 295

翻译 iOS开发:git创建仓库

从 Git 中移除某个文件rm test.txtgit rm test.txt添加远程仓库$ git remote origin $ git remote add pb git://github.com/paulboone/ticgit.git $ git remote -v origin git://github.com/schacon/ticgit.git pb gi

2015-07-14 14:41:46 256

翻译 iOS开发中git分支创建和管理

创建分支$ git branch testing切换到testing分支$ git checkout testing查看本地分支$ git branch查看远程分支$ git branch -a删除本地分支$ git branch -D testing提交本地分支到远程1,切换到要提交的分支$ git checkou

2015-07-14 14:39:35 1007

翻译 CocoaPods详解之—-制作篇

学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤如下:一、创建自己的github仓库CocoaPods都托管在github上(官方链接为:https://github.com/CocoaPods),所有的Po

2015-07-14 14:34:00 434

翻译 CocoaPods详解之—-进阶篇

一、Podfile.lock文件上文讲过,在开始使用CocoaPods,执行完pod install之后,会生成一个Podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它。 该文件用于保存已经安装的Pods依赖库的版本,通过CocoaPods安装了SBJson、AFNetworking、Reachability三个POds依赖库以后对应的Podfile.

2015-07-14 14:31:26 368

翻译 CocoaPods详解之—-使用篇

一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系

2015-07-14 14:30:07 423

翻译 中文 iOS/Mac 开发博客列表

本博客列表会不断更新维护,如果有推荐的博客,请直接在本文下面评论。(排名不分先后)OneV’s Den嗨,我是王巍 (@onevcat),一名来自中国的 iOS / Unity 开发者。现居日本,就职于 LINE。正在修行,探求创意之源。 Swifter.tips - 我维护的 Swift 使用技巧分享网站,每周三更新,欢迎访问刚刚在线Blo

2015-07-14 12:25:59 456

翻译 解读AFNetworking中Demo的MVC

Demo的下载地址:AFNetworking下载打开Demo:现实的功能,就是一个简易的微博timeline界面:项目预览:用到的第三方:AFNetworking 和 UIKit+AFNetworking功能:用户图像(先显示默认图,在加载图片),用户发的内容,下拉刷新。C层:发一个请求:(告诉M

2015-07-14 12:24:52 337

翻译 浅析MVC和说媒的过程

什么是MVC?MVC 全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。图解MVC(斯坦福公开课的课件)看了上面的MVC定义和

2015-07-14 12:23:38 360

翻译 Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件

一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。为什么xcode6没有自动创建pch文件呢?简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了

2015-07-14 11:03:06 317

翻译 iOS网络编程之AFNetworking使用

iOS网络编程之AFNetworking使用现在大家都喜欢用AFNetworking,因为有人维护。看来一下官方文档,把使用的代码简单罗列一下:首先通过CocoaPods(没用过的看这篇文章)把AFNetworking拉下来Podfileplatform :ios, '7.0'pod "AFNetworking", "~> 2.0"方法一:GET 请求A

2015-07-14 10:55:25 264

翻译 xcode6.1调试的时候有时参数都为nil怎么解决?

xcode6.1调试的时候有时参数都为nil怎么解决?昨天我在写代码的时候,发现xcode6.1调试的时候有时参数都为nil?曾经有朋友遇到过这个问题,我一直没当回事,昨天我也碰到了:看下图:刚创建的vc 和 nav 都为nil,这给断点调试增加了很多麻烦,难道是xcode的bug吗?群里问问大牛,不得姐,网上有查,最终找到解决方法:在Project

2015-07-14 10:50:32 579

ios录音并转MP3格式

ios录音并转MP3格式

2016-06-12

SDWebImage内存警告修复版

SDWebImage在加载大图片的时候虽然会自动释放内存但是还是会报内存警告,已经修复了

2015-08-07

iOS AES加密代码

在iOS系统下实现数据的AES加密 可用作数据存储及传输加密

2014-11-18

swift新语言

The Swift Programming Language中文完整版 Using Swift with Cocoa and Objective-C中文精校版

2014-07-24

空空如也

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

TA关注的人

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