自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

转载 UITouch事件处理机制

事件处理机制在iOS中发生触摸后,事件会加入到UIApplication事件队列(在这个系列关于iOS开发的第一篇文章中我们分析iOS程序原理的时候就说过程序运行后UIApplication会循环监听用户操作),UIApplication会从事件队列取出最前面的事件并分发处理,通常先分发给应用程序主窗口,主窗口会调用hitTest:withEvent:方法(假设称为方法A,注意这是UIVi

2015-05-31 22:55:28 1648

转载 touch事件的派发与传递

pointInside:withEvent:  这个函数的用处是判断当前的点击或者触摸事件的点是否在当前的view中。它被hitTest:withEvent:调用,通过对每个子视图调用pointInside:withEvent:决定最终哪个视图来响应此事件。如果 PointInside:withEvent:返回YES,然后子视图的继承树就会被遍历(遍历顺序中最先响应的为:与

2015-05-31 22:08:37 605

转载 CGRectContainsPoint的具体用法解释

判断给定的点是否被一个CGRect包含,可以用CGRectContainsPoint函数例如:-(CLLockItemView *)itemViewWithTouchLocation:(CGPoint)point{        CLLockItemView *itemView = nil;        for (CLLockItemView *itemViewSub in self.su

2015-05-27 00:08:40 12256

转载 用CGContextRef一些画图画线的方法

#import @interface DashesLineView :UIView@property(nonatomic)CGPoint startPoint;//虚线起点@property(nonatomic)CGPoint endPoint;//虚线终点@property(nonatomic,strong) UIColor * lineColor

2015-05-21 10:09:27 7194

转载 网易新闻iOS版使用的开源组件

网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件1、AFNetworkingAFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest2、Apple Reachability网络监测,可以参考下这篇文章iOS网络

2015-05-20 16:12:13 529

转载 AFNetworking 源码解释

http://blog.cnbang.net/archives/这位小博主 解释不错都有注释的http://blog.cnbang.net/tech/2320/

2015-05-20 15:52:30 500

转载 iOS 开发异步 第三方库 PromiseKit 解析

最近在尝试解决下载管理中,全部下载的速度问题,于是在github中试图寻找答案,无意中发现了Promise这个第三方库。它的作用如下  PromiseKit is not just a Promises implementation, it is also a collection of helper functions that make the typical asynchrono

2015-05-20 11:16:50 9090 2

转载 Objective-C中实现链式语法 解释

#import @interface ClassA : NSObject@end@interface ClassB : NSObject- (id)initWithString:(NSString *)str;@end#import "ClassA.h"@class ClassB;@interface Cl

2015-05-19 17:21:58 947

转载 [IOS]iOS App性能优化

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

2015-05-18 15:47:30 808

转载 iOS图片Path team 第三方库-FastImageCache解析

FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。优化点iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤:从磁盘拷贝数据到内核缓冲区从内核缓冲区复制数据到用户空间生成UIImageView,把图像数据赋值给UIImageView如果图像数据为未解码的PN

2015-05-18 15:20:40 2094

转载 iOS多线程开发---线程同步

互斥锁与信号量区别:信号量的另一种形式,它允许在条件真的时候线程间相互发送信号(signal,这个也是和Lock锁区别之一)。条件和互斥锁的区别在于多个线程被允许同时访问一个条件。但是对于同一时间,互斥锁只能被一个线程访问synchronized (防止不同线程在同一时间获取同一个锁)@synchronized(anObj),如果每次在线程传递的不同的对象给anObj,那么每次

2015-05-13 10:56:20 903

转载 NSRunLoop几个常用的方法

+ (NSRunLoop *)currentRunLoop; //获得当前线程的run loop+ (NSRunLoop *)mainRunLoop; //获得主线程的run loop- (void)run; //进入处理事件循环,如果没有事件则立刻返回。注意:主线程上调用这个方法会导致无法返回(进入无限循环,虽然不会阻塞主线程),因为主线程一般总是会有事件处理。- (vo

2015-05-11 16:20:55 1160

转载 iOS中多线程原理与runloop介绍

一.线程概述有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;圆如操作系统,一直运行直到你关机。 一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。Mac和iOS中的程序启动,创建好一个进程的同时, 一个线程便开始运行,这个线程叫主

2015-05-11 14:07:40 457

转载 iOS Crash文件的解析工具(四)开源库 QuincyKit + KSCrash

我们知道,iOS bug定位是极看重crash log的,目前网上提供了不少crash log收集与管理服务,较有名的有Crashlytics, Flurry, 友盟,可能大部分人也就是使用这个。我这里要说的QuincyKit + KSCrash是一对开源组合,可能没有前者各种高大上的功能,基本功能还是有的,但更偏重于以下使用场合: 1)访问外网不太方便,或者大部分情况下在内网测试 2

2015-05-08 00:51:37 4849

转载 iOS Crash文件的解析(三)工具Crashlytics

使用Crashlytics的好处有:1、Crashlytics不会漏掉任何应用崩溃信息。拿我的应用举例来说,在iTunes Connect的后台查看不到任何崩溃信息。但是用户确实会通过微博或者客服电话反馈应用崩溃的情况。而这些在Crashlytics中都可以统计到。如下截图分别显示了我的某应用在苹果iTunes Connect后台和Crashlytics中的差别:2、C

2015-05-08 00:24:10 1695

转载 iOS Crash文件的解析(二)如何使用symbolicatecrash工具

上传一软件,被拒了,自己测试了n遍都未出现这个情况,今天用symbolicatecrash工具分析了一下苹果提供的Crash文件,最终查到是- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation这里出问题,在第一次进入更新位置的时候,userLocation.co

2015-05-07 22:16:53 3950

转载 iOS Crash文件的解析(一)

发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退。脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断。联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台,如果10台后挂了他就不做手机了。好了不闲扯了,今天就跟大家一起聊聊iOS Crash文件的组成以及常用的分析工具。有一个WWDC 2

2015-05-06 21:16:02 1350 1

转载 几个iOS工程通用模块介绍

1. MantleMantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层。简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 Model 类来存放这些数据。这就要求我们编写一系列的序列化代码,来把 json 转换为 Model 。这很费时间,容易错,不容易修改。 Mantle 很好的解决了这个问题,而且更易用。

2015-05-06 21:13:01 487

转载 Notification多线程 重定向

如果我们的Notification是在二级线程中post的,如何能在主线程中对这个Notification进行处理呢?或者换个提法,如果我们希望一个Notification的post线程与转发线程不是同一个线程,应该怎么办呢?“重定向”:就是我们在Notification所在的默认线程中捕获这些分发的通知,然后将其重定向到指定的线程中。一种重定向的实现思路是自定义一个通知队列(注意

2015-05-06 16:02:41 851

转载 Runloop 解释笔记

Runloop是iOS开发的一个难点,需要不断体会才能真正理解。一个runloop有几个要素组成,一个是runloop模式,一个是source,一个是observer。runloop模式是需要监视的source和observer的集合,runloop运行期间,只有和该模式相关的source才会被监视并允许传递事件,也只允许相关的observer会被通知runloop的进程。 source分

2015-05-06 14:54:23 555

原创 NSTimer scheduledTimerWithTimeInterval与timerWithTimeInterval、initWithFireDate的区别

A timer object can be registered in only one run loop at a time, although it can be added to multiple run loop modes within that run loop. There are three ways to create a timer:Use the schedu

2015-05-06 14:20:22 5151 2

线程保活:

线程保活:

2022-03-16

快钱支付(ios)接口

快钱支付代码,详细的文档和接口以及通信参数。

2012-02-16

windows mobile平台上 蓝牙通信

手机的功能键可以当作PC上的鼠标来控制电脑

2010-02-28

空空如也

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

TA关注的人

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