自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

原创 Objective-C 常用代码记要

NSImage与NSData之间转换NSData *imageData = [NSDatadataWithContentsOfFile: imagePath];    UIImage *aimage = [UIImage imageWithData: imageData];   //UIImage-> NSData    NSData *imageData =

2013-07-22 13:19:29 724

转载 cookie解密

一、前言 Cookies想必所有人都了解, 但是未必所有人都精通。本文讲解了Cookies的各方面知识,并且提出来了最佳实践。这是笔者在日常工作中的积累和沉淀。 二、基础知识 1.什么是 CookiesCookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。例如,

2015-11-16 09:43:00 1976

转载 Wininet、WebBrowser编程中如何管理Cookie

用VC++访问网页,一般都是用微软提供的Wininet、WinHTTP(基于HTTP协议)或WebBrowser(加载整个网页)。当然还有libcurl之类的第三方类库,因为暂时没接触过,就不说了。在使用上述三种方式访问网页的编程过程中,默认情况下是由它来管理Cookie,但有时候程序员想手工干预,比如清除Cookie、修改Cookie、添加Cookie。在网上搜索了一下,大概有这么三种方

2015-11-16 09:29:28 711

转载 setsockopt、getsockopt详细介绍

一、 int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR* optval, int optlen); 设置套接口的选项。 s:标识一个套接口的描述字。 level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。 optname:需设置的选项。 opt

2015-04-07 15:28:31 2459

转载 socket编程的select模型

在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户端都需要去开辟一个新的线程,效率必定底下。     其实,socket编程提供了很多的模型来

2015-03-26 21:14:13 482

转载 运行时出现Stack overflow错误

大家都知道,Windows程序的内存机制大概是这样的,全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存较大,一般不会溢出; 函数地址、函数参数、局部变量等信息存储于栈内存,VC6中栈内存默认大小为1M,对于当前日益扩大的程序规模而言,稍有不慎就可能出问题。(动态申请的内存即new出来的内存不在栈中)即如果函数这样写:void test_stack_overflo

2015-03-24 15:10:23 3119

转载 User breakpoint called from code at XXX 问题分析汇总

分析一,转自独奏的同名Blog      今天调试程序时在Debug版跳出这个错误,我程序根本没设置断点,而其好像说是我的堆有问题,而编译了个Release版本运行正常,后来google下,查到如下解释:      说是调试状态下,操作系统用DebugWin32Heap来替代正常的heap分配内存空间。在这个堆上的任何操作debug的堆管理器会检查堆的数据完整性,如果它发现了一个错

2015-03-24 15:07:38 2107

转载 instancetype和id区别

一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢?二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc或

2014-08-02 08:20:12 565

转载 UIResponder详解(响应者)

UIResponder Class ReferenceManaging the Responder Chain[plain] view plaincopy1.- (UIResponder *)nextResponder  返回接收者的下一个相应,如果没有就返回nilUIResponder类不自动存储和设置下一个响应者,而是默认

2014-07-22 08:55:20 889

转载 UIResponder详解(响应者)

UIResponder Class ReferenceManaging the Responder Chain[plain] view plaincopy1.- (UIResponder *)nextResponder  返回接收者的下一个相应,如果没有就返回nilUIResponder类不自动存储和设置下一个响应者,而是默认

2014-07-22 08:50:22 635

原创 View 在响应链中查找属自己的 ViewController(递归查找)

//----- View 在响应链中查找属自己的 ViewController(递归查找)------ (id)traverseResponderChainForUIViewController{ id nextResponder = [self nextResponder]; if ([nextResponder isKindOfClass:[UIViewController

2014-07-17 09:36:25 820

原创 拷贝 xxx.app [NSBundle mainBundle] 包里的文件到 Documents 目录下

//把 xxx.app 包里的文件拷贝到 Documents 目录下,并指定是否覆盖,YES 则覆盖- (void)BundleToDocuments:(NSString *)fileName existsCover:(BOOL)cover{ BOOL success; NSError *error; NSFileManager *fileManager = [NSFi

2014-07-17 09:36:07 1451

原创 hitTest:withEvent:截获子视图消息

@implementation TempView{ BOOL isSelfTouche;}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ if(isSelfTouche) [self removeFromSuperview];}#pragma mark - hitTes

2014-07-17 09:35:26 803

转载 函数参数传递 “指针的指针” (或是指针的引用)

注:以下讨论都是在ARC模式下我们在iOS开发中最经常碰到的“引用(reference)”的使用是在error上,比如如下代码[objc] view plaincopyNSError *error = nil;  BOOL success = [myContext save:&error];  if (!success) { 

2014-07-17 09:33:09 610

转载 iOS多线程系列(3)GCD(Grand Central Dispatch)

在2011的WWDC上,苹果推出了GCD,从此多线程增加了一种新的方法。GCD要求运行在iOS4.0版本以上或者OS X10.6版本以上。GCD是Grand Central Dispatch的缩写,是一组用于实现并发编程的C接口。GCD是基于Objective-C的Block的特性开发的,基本的业务逻辑和NSOperation很像。都是添加一个任务到一个队列,由系统来负责线程的生成和调度。因为直接

2014-07-07 17:43:22 601

转载 iOS多线程系列(2)NSOperation

前面了iOS的NSThread方法来实现多线程,这篇就简单的讲讲NSOperation和NSOperationQueue。      NSOperation是一个抽象类,定义一个要执行的任务。NSOperationQueue是一个任务队列,帮助对NSOperation所定义的任务进行管理。当任务加入到任务队列后,会自动按照优先级和依赖关系自动运行。      NSOperation

2014-07-07 17:41:56 523

转载 iOS多线程系列(1)NSThread

多线程这个概念的接触是蛮早的时候了,当时还是单核单CPU的时候,Thread这个概念已经出现了,当时比较流行的方案是时间片轮流,线程可以优先级抢占,但一次只能运行一个线程,实际上多线程是不能真正并行处理的,只是宏观上表现的多线程在齐头并进。现在硬件进步了很多,多核的CPU时代来临了,于是线程开始了真正意义上的并行处理,多线程也作为越来越重要的一个部分需要掌握。        iOS中关于线

2014-07-07 17:40:04 475

转载 iOS事件拦截处理

前面分析了一通iOS事件的分发,主要介绍了事件如何找到处理的view,又是如何按照responder chain逐级传递的。这篇文章主要介绍iOS事件的拦截以及特殊处理。        我们知道事件的分发是由Application到Window再到各级View的,所以显然最安全可靠的拦截地方是Application。这里拦截事件后如果不手动往下分发,则进入hit-test View过程的机

2014-07-07 17:27:09 637

转载 iOS事件分发

移动平台上的开发主要关注数据以及数据的处理,事件的处理以及UI。所以事件的分发处理是很重要的一个环节,对于一个平台的优劣来说也是一项重要的参数。如果事件的分发设计的不好,一些复杂的UI场景就会变得很难写甚至没法写。从小屏没有触摸的功能机开始到现在大屏多点触摸的智能机,对于事件的分发处理基本思路都是一样的——链(设计模式中有个模式就是职责链chain of responsibility),只是判定的

2014-07-07 17:26:16 551

转载 iOS设备是否越狱的判断代码

苹果是非常看重产品的安全性的,所以给用户设计了一套复杂的安全机制。这让喜爱自由,崇尚一切开放的程序员们极度不爽,于是越狱就成了苹果和黑客们反复斗法的场所。总体来说,越狱可以让我们随意安装、共享应用,但确实也降低了设备的安全性,会给一些恶意应用提供方便之门。      有时我们的应用希望知道安装的设备是否已经越狱了,显然,苹果官方不会给出解决方案来的,那么我们怎么办呢?因为越狱后会自动安装c

2014-07-07 16:58:01 572

转载 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧

最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面。iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关系。而随着iOS开发发展至今,可以说在UI制作上大家逐渐分化为了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个

2014-07-03 21:38:07 511

转载 AGSGeometryEngine

几何信息和拓扑关系是地理信息系统中描述地理要素的空间位置和空间关系的不可缺少的基本信息。其中几何信息主要涉及几何目标的坐标位置、方向、角度、距离和面积等信息,它通常用解析几何的方法来分析。而空间关系信息主要涉及几何关系的“相连”、“相邻”、“包含”等信息,它通常用拓扑关系或拓扑结构的方法来分析。拓扑关系是明确定的相等(Equals):几何形状拓扑上相等。

2014-06-27 09:35:24 2106

原创 随机数 IOS

+ (NSInteger)randomInteger1:(NSInteger)int1 Integer2:(NSInteger)int2{ return (arc4random() % (int2 - int1 + 1)) + int1;}+ (CGFloat)randomFlaot1:(CGFloat)flaot1 Flaot2:(CGFloat)flaot2{#ifndef

2014-06-27 09:30:28 607

转载 __bridge, __bridge_transfer, __bridge_retained 在ARC环境下转换原理解析

参考:http://blog.csdn.net/bsplover/article/details/7978657http://www.cocoachina.com/applenews/devnews/2013/0411/5975.html

2014-06-18 11:23:29 1642

转载 获取UUID,类似于Microsoft的GUID

- (NSString *)makeUUID{ CFUUIDRef uuidRef = CFUUIDCreate(NULL); CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef); CFRelease(uuidRef);//__bridge: 只是负责两者形式的转换,不涉及内存权限的转移。只涉及在AR

2014-06-18 11:10:50 646

转载 UITextField被软键盘遮挡的解决办法

//开始编辑输入框的时候,软键盘出现,执行此事件 -(void)textFieldDidBeginEditing:(UITextField *)textField { CGRect frame = textField.frame; int offset = frame.origin.y + 32 - (self.view.frame.size.height - 21

2014-06-17 09:17:35 801

转载 hitTest:withEvent:和pointInside:withEvent:

hitTest:withEvent:方法的处理流程如下:首先调用当前视图的pointInside:withEvent:方法判断触摸点是否在当前视图内;若返回NO,则hitTest:withEvent:返回nil;若返回YES,则向当前视图的所有子视图(subviews)发送hitTest:withEvent:消息,所有子视图的遍历顺序是从top到bottom,即从subviews数组的末尾

2014-06-15 13:56:57 1492

转载 NSRunloop的理解

- (IBAction)start:(id)sender{pageStillLoading = YES;[NSThread detachNewThreadSelector:@selector(loadPageInBackground:)toTarget:self withObject:nil];[progress setHidden:NO];while (pageSti

2014-06-14 14:37:31 692

转载 [UIColor colorWithRed: green: blue: alpha:] 失效问题

在设置颜色是用[UIColor colorWithRed: green: blue: alpha:] 有时会遇到颜色不显示的问题,,,刚开始以为是设置的颜色值太过浅的原因,后来试了其他的颜色值发觉并不是这样的,网上搜索了一下,发现了问题的所在:RGB的颜色值范围都是在0.0~1.0之间的,并不是我们误认为的0~255。错误用法:[objc] view plain

2014-06-14 12:20:50 769

转载 Retain Cycle

在iOS4.0推出了Blocks這個語言特性後到現在iOS都已經出到5.0了所以我想Blocks應該可以被廣泛應用了但現在iOS環境是從MRC(Manual Reference Counting) 走到ARC (Automatic Reference Counting)在Reference Counting的環境中Runtime是無法自動解除Retain cycle的而Bloc

2014-06-13 09:35:10 606

转载 Choose a destination with a supported architecture in order to run on this device.

通常出现这个问题的原因是以前的老项目在新版本的xcode中打开时会出现为这个问题。郁闷了一段时间, 在网上也没有找到合适的解决方案, 后来发现其实是这个提示过于误导。大部分人看到这个提示,立马会想到可能是architecture设置成不对,但不管怎么去修改,这个错误还是会存在。 其实只要把编译器改成现在的LLVM即可。 修改位置Project->Build Settin

2014-06-09 17:36:58 443

转载 UIView(包括子类)初始化,被添加时执行的几个动机

根据你需要执行的动作, 这里有几个方法:-(id)initWithFrame:(CGRect)frame - UIView的指定初始化方法; 总是发送给UIView去初始化, 除非是从一个nib文件中加载的;-(id)initWithCoder:(NSCoder *)coder - 从nib文件中加载的时候发送此消息给UIView;-(void)awakeFromNib

2014-06-09 17:07:38 659

转载 iOS 键盘的编程所需技巧

首先,你得监听键盘的事件,最基本的两个事件:UIKeyboardWillShowNotificationUIKeyboardWillHideNotificationUIKeyboard...iOS 5新增加了一些UIKeyboardDidChangeFrameNotification(will)一般情况下,前两个事件已经可以完成你要做的事

2014-06-09 16:47:40 614

转载 动态调整 UITableViewCell高度

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    //UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forInd

2014-06-09 16:35:06 616

转载 UIPasteboard 粘贴板,复制粘贴UILabel,UIImageView的数据

有时候我们可能需要复制UILabel上的文本,或者UIImageView的图片,而UILabel和UIImageView默认是不响应Touch事件的,也无法复制,那么我们就需要自己实现一个可复制的UILabel。新添加一个类继承自UILabel:@interface UICopyLabel : UILabel    @end  #import "

2014-06-09 10:41:11 785

转载 XCode lldb Debug 教程

开胃小菜--简单的断点调试在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。LLDB Debug教程" style="margin:0px; padding:0px; border:0px; list-style:none">运行app,等待。。。就可以看到xcode在断点处进入调试模式,

2014-06-08 11:50:56 644

转载 Xcode 解决EXC_BAD_ACCESS错误的一种方法--NSZombieEnabled

我们做iOS 程序开发时经常用遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像Thread 1: Program received signal:"EXC_BAD_ACCESS",让问题无从找起。比如你对已释放的对象发送消息时就会出现,EXC_BAD_ACCESS,再如rel

2014-06-08 11:49:20 737

转载 Xcode 用lldb命令po(print-object)打印UIView的视图层级

UIView有一个私有方法:recursiveDescription这个方法可以显示出当前视图的详细层级,可以在代码中直接调用,也可以在GDB中调用,在GDB中调用时需要借助另一个GDB命令:print-object:recursiveDescription:由于是私有方法,键入时不会有任何提示,注意不要输错。

2014-06-08 11:47:48 2853

转载 XCode gdb/lldb 调试命令

XCode4.0以后,编译器换成了LLVM 编译器 2.0与以前相比,更加强大:1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++.2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构.3.LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法

2014-06-08 11:46:15 623

转载 NSAttributedString 详解

NSAttributedString可以让我们使一个字符串显示的多样化,但是目前到iOS 5为止,好像对它支持的不是很好,因为显示起来不太方便(至少没有在OS X上方便)。首先导入CoreText.framework,并在需要使用的文件中导入:#import创建一个NSMutableAttributedString:NSMutableAttribut

2014-06-08 10:57:16 462

smack4.1.5依赖jar包以及demo

smack4.1.5依赖jar包以及demo (包含 smack4.1.5 JAR所有包,含Test.java demo)

2015-12-22

Openfire3.10.3所需jar包以及Eclipse部署教程

Openfire3.10.3所需jar包以及Eclipse部署教程

2015-12-14

空空如也

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

TA关注的人

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