自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏树正茂的专栏

爱学习,爱分享

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

转载 超全!iOS 面试题汇总

之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家。(题目来源于网络,侵删)1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别

2015-10-27 07:37:59 817

转载 iOS 3D UI——CALayer的transform扩展解析

引言这篇文章的主要内容来自于CocoaChina论坛上的一篇文章,只不过原文在有些地方介绍得不是很详细,我这里增加了一些解析,也算是自己做笔记,原文和代码均可以在这个链接里找到:IOS 3D UI —– CALayer的transform扩展。iOS的UI是基于UIView类的,我们能看到的每个UI元素都是UIView或者UIView的子类。View按树形结构组织起来,树根是UIW

2014-11-18 10:31:13 835

转载 Objective-C Runtime

本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机。主要内容如下:引言简介与Runtime交互Runtime术语消息动态方法解析消息转发健壮的实例变量(Non Fragile ivars)Objective-C Associate

2014-11-07 16:41:21 603

转载 Objective-C总Runtime的那点事儿(一)消息机制

最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题。当然还有一些其他问题也几乎必问,例 如:RunLoop,Block,内存管理等。其他的问题如果有机会我会在其他文章中介绍。本篇文章主要介绍RunTime。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪

2014-10-20 09:55:30 738

转载 BLOCK 还是代理

原文地址:http://stablekernel.com/blog/blocks-or-delegation/上次发了一篇博客后,@saambarati 问了个非常棒的问题,简单来说:“什么时候我是用 block 代替代理用于回调?”这种情况下,我喜欢问我自己,“苹果会怎么做?”当然,我们知道苹果是怎么做,因为文档本身就是对设计模式使用的参考书,如果我们换个角度看待它。我们

2014-10-09 14:17:19 786

转载 OBJECTIVE-C 中的 META-CLASS 是什么?

原文地址在这篇文章中,我关注的是 Objective-C 中的一个陌生的概念—— meta-class。在 Objective-C 中的每个类都有一个相关联的 meta-class,但是你很少会直接使用 meta-class,他们仍旧保持着神秘的面纱。我们从在运行时创建一个类开始。通过查看 “class pair”,我会解释 meta-class 是什么,同时也会谈谈在 Objective

2014-10-09 11:37:15 566

转载 理解 Objective-C Runtime

当人们初学 Cocoa/Objective-C 时,Objective-C Runtime 是被忽略的特性之一。原因是 Objective-C(这门语言)很容易在几小时内就熟悉,新学 Cocoa 的人花费他们大部分的时间学习 Cocoa 框架和适应它是如何工作的。然而每个人至少应该知道一些 runtime 的工作细节,需要比知道编译器会把 [target doMethodWith:var1]; 转

2014-10-09 09:38:44 556

转载 iOS App性能优化

iOS App的性能关注点虽然iPhone的机能越来越好,但是app的功能也越来越复杂,性能从来都是移动开发的核心关注点之一。我们说一个app性能好,不是简单指感觉运行速度快,而应该是指应用启动快速、UI反馈响应及时、列表滚动操作流畅、内存使用合理,当然更不能随随便便Crash啦。工程师开发应用时除了在设计上要避免性能“坑”的出现,在实际遇到“坑”时也要能很快定位原因所在。定位性能问题原因

2014-07-17 09:53:46 971

转载 Run loop和Thread

Run-loop是什么?首先考虑这个问题:你的Cocoa程序大部分的时间什么都没做,更具体点,是在等待输入。然而,一旦你触摸屏幕,相应的事件被触发,就可能会执行你的一段事件处理代码。同理,socket中返回一些数据,或者计时器触发等也是一样的情况。而且更重要的是,一旦触发事件的代码执行完,程序就会回到等待状态。在很多情况下,代码执行的时间要远小于程序等待输入的时间。我认为run l

2014-06-12 09:38:22 560

转载 Swift简介

关于这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift。原文作者:Lucida Blog新浪微博豆瓣转载前请保留出处链接,谢谢。前言在这里我认为有必要提一下Bret Victor的Inventing on Principle,Swift编程环境的大部分概念都源自于Brec这个演讲。接下来进入正题。Swi

2014-06-04 09:32:50 697

转载 (译)Objective-C的动态特性

这是一篇译文,原文在此,上一篇文章就是受这篇文章启发,这次干脆都翻译过来。过去的几年中涌现了大量的Objective-C开发者。有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的。也就是说有很大一部分开发者都没有使用Objective-C太长时间。当你接触一门新语言时,更多地会关注基础知识,

2014-03-07 09:20:47 811

转载 iOS安全系列汇总

感谢各位作者: @hangcom2010、@吴发伟Ted、@拓词Joey、@程序媛念茜。iOS应用逆向工程知乎专栏:iOS安全开发者眼中的越狱iPhone安全性iOS安全开发防护摘要Reveal查看任意app的高级技巧书籍推荐:《iOS应用逆向工程:分析与实战》iOS越狱程序开发工具篇构建和部署Your First Tweak总结

2014-02-26 19:08:24 1273

转载 Objective C运行时(runtime)技术的几个要点总结

前言:         Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表、属性列表、变量列表,修改方法、属性,增加方法,属性等等,本文对相关的几个要点做了一个小结。目录:(1)使用class_replaceMethod/class_addMethod函数在运行时对函数进行动态替换或增加新函数(2)重载f

2014-02-26 19:03:24 752

转载 Method Swizzling

Method swizzling指的是改变一个已存在的选择器对应的实现的过程,它依赖于Objectvie-C中方法的调用能够在运行时进改变——通过改变类的调度表(dispatch table)中选择器到最终函数间的映射关系。举个例子,假设我们想跟踪在一个iOS应用中每个视图控制器展现给用户的次数:我们可以给每个视图控制器对应的viewWillAppear:实现方法中增加相应的跟

2014-02-26 18:23:20 760

原创 iOS中设置文件不备份

从iOS5.0.1引入的设置不要备份文件(文件夹也适用)的扩展属性 1 #include  2 - (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL 3 { 4     const char* filePath = [[URL path] fileSystemRepresentation]; 5  

2014-02-24 11:44:49 1067

原创 iOS崩溃日志打印出来或者写进文件

对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,方便取出分析。首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中。 其次是Crash问题;Crash分为两种,一种是由EXC_BAD_ACCESS

2014-02-14 14:17:13 1525

转载 类簇在iOS 开发中的应用

类簇(class cluster)是一种设计模式,在Foundation Framework中被广泛使用,举个简单的例子NSArray *arr = [NSArray arrayWithObjects:@"foo",@"bar", nil];NSLog(@"arr class:%@", [arr class]);// output: __NSArrayI显然__NSArr

2014-01-25 10:15:14 602

转载 iOS中使用blend改变图片颜色

iOS中使用blend改变图片颜色使用Blend处理图片颜色最近对Core Animation和Core Graphics的内容东西比较感兴趣,自己之前也在这块相对薄弱,趁此机会也想补习一下这块的内容,所以之后几篇可能都会是对CA和CG学习的记录的文章。在应用里一个很常见的需求是主题变换:同样的图标,同样的素材,但是需要按照用户喜爱变为不同的颜色。在iOS5和6的S

2013-12-12 10:57:11 788

转载 CocoaPods安装和使用教程

目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其

2013-12-06 11:57:55 848

转载 面试基础知识

1、Object-C有多继承吗?没有的话用什么代替?cocoa 中所有的类都是NSObject 的子类多继承在这里是用protocol 委托代理 来实现的你不用去考虑繁琐的多继承 ,虚基类的概念.ood的多态特性 在 obj-c 中通过委托来实现.2、Object-C有私有方法吗?私有变量呢?objective-c – 类里面的方法只有两种, 静态方法和实例

2013-12-05 12:57:12 1030

转载 iPhone键盘通知与键盘定制

一.键盘通知当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘。成为firstresponder可能由用户点击触发,也可向文本View发送becomeFirstResponder消息触发。当文本视图退出first responder时,键盘会消失。文本View退出fir

2013-12-03 12:42:42 984

转载 Git 常用命令速查

一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshow

2013-11-27 15:20:15 1404

转载 Git 命令详解

Git的基本命令:git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的updategit add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的

2013-11-27 15:13:49 761

转载 iOS7 UI改变总结

苹果官方文档:https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/TransitionGuide/ContentViews.html#//apple_ref/doc/uid/TP40013174-CH10-SW1IOS7在UI方面发生

2013-11-21 14:33:35 1121

原创 what the difference between __weak and __block reference?

From the docs about __block__block variables live in storage that is shared between the lexical scope of the variable and all blocks and block copies declared or created within the variable’s le

2013-11-11 09:37:35 1662

转载 自定义返回按钮时,iOS7手势返回遇到的问题

从iOS7的Beta版开始,就着手做兼容工作,到Beta4的時候,应用已经基本兼容,只是偶然发现,iOS样式的手势返回,也就是用interactivePopGestureRecognizer返回的时候,出现下面一些列问题。各方调研,无果,史无前例(废话,刚出来的7,上哪有例去--#)。A,我的应用是自定义的返回按钮图标(默认返回按钮样式不会出现问题3),为了保险,写了这句代码[se

2013-11-05 12:53:31 1294

转载 iOS 7 教程:定制iOS 7中的导航栏和状态栏

注:本文译自Customizing Navigation Bar and Status Bar in iOS 7近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7。最新的iOS 7外观上有大量的改动。从开发者的角度来看,导航栏和状态栏就发生了明显的变化。状态栏现在是半透明的了,这也就意味着导航栏会显示在状态栏后面。有些情况下,导航栏的背景图片可以延伸显示到状态栏后面。

2013-11-04 17:20:22 1053

转载 使用GitHub进行团队合作

原文: Team Collaboration With GitHubGitHub已经成为的一切开放源码软件的基石。开发人员喜欢它,基于它进行协作,并不断通过它开发令人惊叹的项目。除了​​代码托管,GitHub的主要吸引力是使用它作为一个协作开发工具。在本教程中,让我们来看看一些最有用的GitHub的功能,特别是使团队工作更有效率,更高生产力,非常重要的,好玩的那些功能!

2013-11-04 11:31:00 3492

转载 如何高效利用GitHub

Q1:GitHub是什么A1:一家公司位于旧金山,由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。在此之前,它是由Tom与Chris 在本地程序员聚会中,开始的一个用于托管git的项目。正如每个伟大的传奇都开始于一场冒险,Tom在

2013-11-04 11:22:58 915

转载 Background Fetch

Background Fetch 是iOS7带来的非常Cool的新特性,开启Background Fetch的App会被系统在合适的时机执行后台任务的代码。比如这个场景:你每天晚上10点会通过自己的RSS阅读器App来阅读,系统可能会在10点之前执行App中设定的下载RSS最新资源的任务,当你打开RSS阅读器App的时候就显示出最新的内容。实现Background Fetch的步骤也是非常的简单,

2013-10-29 10:59:25 1915

原创 流畅显示滚动图片

Path开源了他们图片缓存实现,思路很新颖:Fast Image Cache可以帮助你的app更快更有效率的储存并检索图片。像Path这种应用最主要的一个负担就是处理大量图片的加载。从硬盘中加载图片这种传统的方法实在是太慢了,尤其是在用户上下滑动的时候会有需要等待图片加载的情况。Fast Image Cache可以很好的解决这个问题。Fast Image Cache做些什么将类

2013-10-25 09:09:42 799

转载 如何在 iOS 7 中设置 barTintColor 实现类似网易和 Facebook 的 navigationBar 效果

先给代码:https://github.com/allenhsu/CRNavigationController1. 问题的表现相信很多人在 iOS 7 的适配过程中遇到了类似这样的问题。当你试图通过设置 navigationBar.barTintColor 的时候,你陷入了一个两难的困境,假设你的预期是这样的:设计稿但当 navigationBar.transluc

2013-10-24 10:08:08 1445

转载 Gesture Recognizers与触摸事件分发

一.Gesture RecognizersGesture Recognizers是在iOS3.2引入的,可以用来识别手势、简化定制视图事件处理的对象。Gesture Recognizers的基类为UIGestureRecognizer,这一个抽象基类,定义了实现底层手势识别行为的编程接口。在UIKit框架中提供了6个具体的手势识别类,用来识别常见的手势。这6个手势识别器类为:

2013-10-23 16:57:05 635

转载 轻量级KVO[译]

在这篇文章中,我会实现一个自己用的简单KVO类,我认为KVO非常棒,然而对于我大部分的使用场景来说,有这两个问题:1. 我不喜欢在observeValueForKeyPath:ofObject:change:context:方法里通过keyPath值来做调度,当Observe比较多的对象时,会使得代码变得杂乱和迷惑。 2. 必须手动的来注册和删除一个观察者,如果能自动做就好了。So,我

2013-10-22 17:49:04 717

转载 instancetype vs id for Objective-C

新的LLVM编译器为我们带来了ARC, Object Literal and Scripting, Auto Synthesis等特性,同时也引入了instancetype关键字。instancetype用来表示Related Result Types(相关返回类型),那么它与id有什么不同呢?根据Cocoa的命名惯例,init, alloc这类的方法,如果以id作为返回类型,会返回类本身

2013-10-22 17:43:27 762

转载 日期处理常用总结

Dates        NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能。Date对象是不可改变的。        如果你要创建date对象并表示当前日期,你可以alloc一个NSDate对象并调用init初始化:[cpp] view plaincopyNSDate *now = [[NSDate a

2013-10-14 11:54:04 557

转载 CABasicAnimation

CABasicAnimation animationWithKeyPath TypesWhen using the ‘CABasicAnimation’ from the QuartzCore Framework in Objective-C, you have to specify an animationWithKeyPath.  This is a long string and i

2013-10-14 11:52:30 855

转载 UISCroll View 原理

文章来源:http://blog.csdn.net/gavinming/article/details/6552565最近看到有人问这个问题:在UIScrollView上添加了一个View,View上面有图片等元素,需要对单击和滑动事件进行区分。这样的问题有以下几个经常会用到的地方:     (1)点击UIScrollView上的图片,跳转到其他页面;同时不影响

2013-10-12 18:34:46 749

转载 反射根据变量的引用获取变量名

一、使用介绍    项目有的时候,会遇到一些特殊的处理,想要根据一个实例的引用,获取这个实例在代码中的名称。比如在处理View的坐标的时候,我们将UIView的坐标信息配置到plist文件中,我们可以设置一个key,再通过这个key来获取配置文件中的坐标等信息。有没有更简单的方法呢,或者我只想简单的用实例变量的变量名做为key。下面就介绍一种简单的,根据实例变量的引用获取实例变量名的办法。

2013-09-13 13:09:53 1160

转载 大白话讲解如何给github上项目贡献代码

本文献给对git很迷茫的新手,注意是新手,但至少会点基本操作,有点基本概念的新手,我不会从怎么用github和git是什么开始讲的。如果作为新手你看书又看不进去,原理又太复杂,有没有直接了当告诉我们怎么给项目贡献代码,并和项目同步代码的大体流程。于是我快速写了这么个东西。一来整理下自己混乱的思路,二来想号召大家一起用git开发点东西,可是好几个同鞋只会寂寞的给自己push。我先说下 我之前

2013-08-06 12:41:29 752

iOS 5 ARC完全指南

iOS 5 ARC完全指南,详细讲解ARC的工作原理。

2013-10-30

空空如也

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

TA关注的人

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