自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

新博客地址:blog.songchunmin.com

新博客地址:blog.songchunmin.com 由于时间精力原因,CSDN博客停止更新,

  • 博客(49)
  • 收藏
  • 关注

转载 iOS应用程序生命周期(前后台切换,应用的各种状态)详解

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running  

2016-04-29 21:19:02 702

转载 更轻量的 View Controllers

View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总是复用率最低的。我们将会看到给 view controllers 瘦身的技术,让代码变得可以复用,以及把代码移动到更合适的地方。你可以在 Github 上获取关于这个问题的示例项目。把 Data Source 和其他 Protoc

2016-04-29 19:58:07 617

转载 Core Data入门

简介  Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:

2016-04-29 08:27:09 527

转载 Swift--枚举类型

枚举定义了一个常用的具有相关性的一组数据,并在你的代码中以一个安全的方式使用它们。如果你熟悉C语言,你就会知道,C语言中的枚举指定相关名称为一组整数值。在Swift中枚举更为灵活,不必为枚举的每个成员提供一个值。如果一个值(被称为“原始”的值)被提供给每个枚举成员,则该值可以是一个字符串,一个字符,或者任何整数或浮点类型的值。另外,枚举成员可以指定任何类型,每个成员都可以存储的不同的相关值

2016-04-29 08:14:36 831

转载 Objective-C中的Block

1.相关概念在这篇笔记开始之前,我们需要对以下概念有所了解。1.1 操作系统中的栈和堆注:这里所说的堆和栈与数据结构中的堆和栈不是一回事。我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自动分配,一般存放函数参数值、局部变量的值等。由编译器自动创建与释放。其操作方式类似于数据结构中的栈,即后进先出、

2016-04-28 17:59:10 661

原创 DUNS申请

申请DUNS码(邓白氏码)申请地址:https://developer.apple.com/ios/enroll/dunsLookupForm.action申请的资料就是按上面的提示如实填写。Legal Entity Name 这就写公司的英文名,什么,你们公司没有英文名,那也简单,把中文名称用google 翻译一下。再翻译基础上改改就行。英文翻译不对的就用拼音代替。反正我是这么写的。

2016-04-28 12:08:03 1661

原创 JS 终止执行的方法

(一)在function里面(1)return;(2)return false;(二)非function方法里面alert("before error.");throw SyntaxError();alert("after error.");

2016-04-28 11:42:39 5934

原创 iOS 判断设备

- (NSString*)deviceVersion{    // 需要#import "sys/utsname.h"    struct utsname systemInfo;    uname(&systemInfo);    NSString *deviceString = [NSString stringWithCString:systemInfo.machine en

2016-04-28 11:25:48 682

原创 iOS实现UIImageView透明区域点击事件穿透(OC&swift)

问题最近要在iPad上实现一个很独特的功能,简单描述一下就是要显示一个带有半透明背景的弹出界面,在其上加一个不规则形状的图片,手指点击这个弹出界面的半透明区域就退出这个弹出界面。问题是UED/美工不会提供纯粹的不规则形状切图,实际只能给出的是以不规则形状加透明区域的矩形切图,这就带来另外一个要求:点击矩形切图的透明区域也要退出弹出界面。这就有点难办了,透明区域也是不规则形状的,该怎

2016-04-25 20:59:47 2750

转载 忘记NSURLConnection,拥抱NSURLSession吧

说到 iOS 7 和 Mac OS X 10.9 Mavericks 的显著变化,其中一个就是Foundation框架中URL加载系统的优化。  此时可能有人正沉浸在Apple的网络基础架构,我想在这里分享一下我对这些新APIs的看法,并展示这些新APIs如何改变我们构建应用程序的方式,以及这些它们在API设计理念演变中的意义。  作为Core Foundation / CFNet

2016-04-25 16:35:20 681

原创 SVN搭建

一、window系统(1)下载地址:https://www.visualsvn.com/server/download/VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理

2016-04-22 16:17:27 1093

转载 imageName:与imageWithContentsOfFile:区别

原博客地址:http://www.jianshu.com/p/dfefbd65453f1. 二者不同之处在于imageNamed默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象,并返回这个图片对象.而imageWithContentsOfFile则仅

2016-04-22 10:12:39 993

转载 Axure长久使用

原地址:http://www.cnblogs.com/ahjesus/p/3479865.htmlahjesus Axure RP 7.0注册码ahjesus Axure RP 7.0注册码用户名:axureuser序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+tqEV4

2016-04-21 09:49:49 898

原创 常用SQL语句

常用SQL语句

2016-04-21 09:02:24 1361

原创 css px转rem工具,支持生产整个css文件统一修改

http://520ued.com/tools/rem

2016-04-20 11:35:52 899

转载 LLVM 与 Clang 介绍

原博客地址:http://blog.csdn.net/wwang196988/article/details/6628543晚上听国软徐纪元学弟给我说起了他刚装上的 Mac Lion 操作系统,也说到了最近 Apple 推出的新版本的 Xcode 4.2 在 iOS 4、iOS 5 程序开发中,加入了 automatic reference counting 功能,也即是开发者不再

2016-04-18 17:58:58 893

转载 objectiveC【语法】修饰符 static extern const

什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用static。 静态变量的优点:1、节省内存。静态变量只存储一处,但供所有对象使用。 2、它的值是可以更新的。 3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。2、全局变量extern什么是全局变量:也称之为外部变量,是在方法外部定义的变量。它不属于哪个方法,而是属于整个源程序。作

2016-04-18 16:10:35 680

转载 iOS中堆和栈的区别

原文地址:http://www.cnblogs.com/iphone520/p/3355460.htmliOS中堆和栈的区别管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来讲,释放工作有程序员控制,容易产生memory Leak。申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶

2016-04-18 15:17:19 644

转载 AFNetworking 3.0迁移指南

AFNetworking 3.0AFNetworking是一款在OS X和iOS下都令人喜爱的网络库。为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本。本指南将引导您完成这个过程。

2016-04-16 16:20:53 846

原创 获取AppStore,APP信息

调用iTunes apihttp://itunes.apple.com/lookup?id=1048837768

2016-04-16 11:49:50 1580

原创 reveal使用

reveal1.5.1下载,长期可使用,你懂得。。。下载不了了,QQ联系我(957269193)下面是转载别人的接下来 进入真正使用环节(1). 使用Xcode 打开想要查看UI的程序.(2).打开破解好的Reveal  点击Help → Show Reveal Library in Finder第一步(3).将Reveal.framework

2016-04-14 09:34:24 671

转载 Reveal真机查看任意APP

前言:在Xcode开发时,可以使用Xcode自带的  Debug view  Hierarchy查看View布局,如下图但是使用起来很麻烦,具体找某个view的时候,还有可能找不到,也不能动态的改变view的属性。这里要推荐一下Reveal。Reveal(http://revealapp.com)是一个很强大的iOS View

2016-04-13 10:29:11 698

转载 Category

摘要无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Objective-C代码的各个角落,从Apple官方的framework到各个开源框架,从功能繁复的大型APP到

2016-04-12 21:41:11 575

转载 Runtime

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

2016-04-12 17:51:01 567

转载 NSURLCache

在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在IOS设备中加一个缓存的机制。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。下面将介绍如何在IOS设备中进行缓存。 内存缓存我们可以使用sdk中的NSURLCache类。NSURLRe

2016-04-12 10:05:14 535

转载 iOS SDWebImage源码研究(四)

1234567891011121314151617181920212223242526272829303132333435

2016-04-12 09:36:15 855

转载 iOS 离屏渲染的研究(三)-------图片设置圆角性能问题

http://www.jianshu.com/p/34189f62bfd8

2016-04-11 21:45:18 2918

转载 iOS 离屏渲染的研究(一)

前言在iOS的世界,圆角无处不在,而且必须存在。因为圆角是符合人类视觉安全体验的,圆角让人觉得舒适,而方角在潜意识层次是具有伤害体验的,因为尖尖的东西总是有可能对人造成伤害的,所以我们更喜欢圆角。在我之前的文章中讲过,在iOS的中设置圆角是非常容易的一件事情,这也体现出苹果也是非常重视圆角这件事情的。圆角虽好,但如果使用不当,它就是你的帧数杀手,特别当它出现在滚动列表的时候。下面来

2016-04-11 18:05:14 3469

原创 iOS 离屏渲染的研究(二)

GPU渲染机制:CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。GPU屏幕渲染有以下两种方式:On-Screen Rendering意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。Off-Screen Re

2016-04-11 15:14:17 848

原创 iOS SDWebImage源码研究(三)

在前面的SDWebImage源码解析(一)和SDWebImage源码解析(二)中,解析了开源异步图片下载库SDWebImage的缓存部分。接下来本篇文章将对SDWebImage的下载器部分进行解析。SDWebImage的异步下载器SDWebImageDownload利用它的单例对象sharedDownloader,可以很好的对图片的下载过程进行配置。sharedDownloader可以配置的部

2016-04-11 11:37:45 1334

转载 Http 请求状态

在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果。因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说

2016-04-11 11:09:24 629

原创 iOS SDWebImage源码研究(二)

1.上一篇说到SDImageCache使用完整的URL来作为磁盘缓存的key。但是有时候为了访问控制的目的,URL的部分内容会是动态的,这样磁盘缓存就起不了作用。对于这个问题,SDWebImageManager给出了一个解决办法(也就是说单独使用SDImageCache是没有的,需要自己修改源码):设置一个cacheKeyFilter,以NSURL作为输入,输出一个NSString作为缓存ke

2016-04-10 11:39:47 769

原创 iOS SDWebImage源码研究(一)

源码地址:https://github.com/rs/SDWebImage版本:3.7SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能:提供UIImageView的一个分类,以支持网络图片的加载与缓存管理一个异步的图片加载器一个异步的内存+磁盘图片缓存,并具有自动缓存过期处

2016-04-10 11:20:45 893

转载 文件的inode数据

http://blog.chinaunix.net/uid-10221131-id-225142.html

2016-04-10 11:17:20 2366

原创 iOS Md5编码

//md5 encode+ (NSString *) md5:(NSString *)str{   const char *cStr = [strUTF8String];   unsigned char digest[CC_MD5_DIGEST_LENGTH];   CC_MD5( cStr, (unsignedint)strlen(cStr), diges

2016-04-10 10:55:02 704

原创 判断是否为PNG图片

We need to determine if the image is a PNG or a JPEG PNGs are easier to detect because they have a unique signature (http://www.w3.org/TR/PNG-Structure.html) The first eight bytes of a PNG file al

2016-04-09 16:48:39 2896 1

原创 UIImage的scale

iPhone OS4.0加入了scale factor,这表示point长度/pixel长度。在分辨率为960*640的设备上,我们知道逻辑坐标系还是不变480*320,那么一个point有两个pixel长,所以scale=2.0。在分辨率为480*320的设备商,point和pixel长度相同,scale=1.0。为了程序自动适应分辨率,程序会自动给UIScreen.scal

2016-04-09 16:38:21 695

原创 iOS断言NSAssert

断言(assertion)是指在开发期间使用的、让程序在运行时进行自检的代码(通常是一个子程序或宏)。断言为真,则表明程序运行正常,而断言为假,则意味着它已经在代码中发现了意料之外的错误。断言对于大型的复杂程序或可靠性要求极高的程序来说尤其有用。有关断言的详细信息,推荐大家一定去看《代码大全2》中“防御式编程”这一章。下面,摘录一些代码大全中有关断言使用的经典指导性建议:

2016-04-09 11:26:31 842

原创 iOS NSCache使用

人开发者来说,这是一笔不小的开销。以上两点造成App Store里面使用特殊中文字库的iOS应用较少。现在通常只有阅读类的应用才会使用特殊中文字库。但其实从iOS6开始,苹果就支持动态下载中文字体到系统中。只是苹果一直没有公开相应的API。最终,相应的API在今年的WWDC大会上公开,接下来就让我们来一起了解这个功能。

2016-04-09 10:26:49 1906

原创 iOS的main函数

如同任何基于C的应用程序,程序启动的主入口点为iOS应用程序的main函数。在iOS应用程序,main函数的作用是很少的。它的主要工作是控制UIKit framework。因此,你在Xcode中创建任何新的项目都配备了一个默认的主函数。除了少数特例外,你永远不应该改变这个函数的实现。#import   #import "AppDelegate.h"  int main(int argc, ch

2016-04-08 21:07:35 837

空空如也

空空如也

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

TA关注的人

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