![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios
文章平均质量分 64
hwj2012
这个作者很懒,什么都没留下…
展开
-
iOS中查找内存问题
come from: http://wiki.eoe.cn/page/iOS_pptl_artile_30458.html许多性能问题最终都归结为内存问题。如果你看到了意外的内存提醒,那么最好先检查一下这些问题。使用Instruments中的Allocations模板。图20-1显示了结果。图20-1 Allocations Instruments我们看看这个图,这转载 2014-02-26 10:54:19 · 3578 阅读 · 0 评论 -
基于tabbarController中的每个tabbar都是UINavigation的涉及到的登陆、注销情况
目前开发的项目中,遇到了一个棘手的问题。最近深入研究学习了一下tabbarController的用法。这样深入了解了ios程序设计的原理,在ios程序的开发过程中,很多ios程序下面都有tabbarController用来显示不同的功能模块。当用户点击每个项的时候,会调用tabBarController的代理方法- (void)tabBarController:(UITabBarControl转载 2013-08-21 16:26:54 · 619 阅读 · 0 评论 -
iOS中UITextField 使用全面解析
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef e转载 2013-08-20 14:18:18 · 712 阅读 · 0 评论 -
手把手教你ARC——iOS/Mac开发ARC入门和使用
本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/本文适合人群:对iOS开发有一定基础,熟悉iOS开发中内存管理的Reference Counting机制,对A转载 2013-08-05 20:38:50 · 809 阅读 · 0 评论 -
IOS同步请求和异步请求的区别
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步通信方式与异步通信的概念同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟转载 2013-08-05 14:47:01 · 10427 阅读 · 0 评论 -
开源中国iOS客户端学习——(一)Prefix.pch文件
当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以 -Prefix.pch结尾文件的文件,pch全称是“precompiled header”,也就是预编译头文件,该文件里存放的工程中一些不常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度。我们知道当我们修改一个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pc转载 2013-08-04 20:43:47 · 1096 阅读 · 0 评论 -
使用Xcode和Instruments调试解决iOS内存泄露
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的转载 2013-08-05 11:30:18 · 1034 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running 未运行 程转载 2013-08-05 11:29:04 · 950 阅读 · 0 评论 -
UITabBarController与UINavigationController配合使用
在ios应用开发中,最常用的一种方式就是UITabBarController与UINavigationController配合使用。这篇文章主要以一个含两个标签面的应用来介绍一下两种情况:1.UITabBarController各子界面是独立的导航关系,互不影响,启动代码如下:- (BOOL)application:(UIApplication *)application didFin转载 2013-08-04 11:55:47 · 4359 阅读 · 0 评论 -
为了执行贝赛尔曲线动画(UIBezierPath)保持匀速计算曲线弧长
- (float) bezierCurveLengthFromStartPoint: (CGPoint) start toEndPoint: (CGPoint) end withControlPoint: (CGPoint) control{ const int kSubdivisions = 50; const float step = 1.0f/(float)kSubdivi原创 2013-08-26 10:36:34 · 2734 阅读 · 0 评论 -
ViewController的生命周期分析和使用
iOS的SDK中提供很多原生ViewController,大大提高了我们的开发效率,下面是我的一些经验。一、结构按结构可以对iOS的所有ViewController分成两类:1、主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController。2、用于转载 2013-08-13 14:53:00 · 708 阅读 · 0 评论 -
iOS应用崩溃日志揭秘
作为一名应用开发者,你是否有过如下经历?为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 !如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美。于是你打开代码准备修复闪退的问题……但是,从何处着手呢?这时iOS崩溃日志派上用场了。在大多数情况下,你能从中了解到关于闪退的详尽、有转载 2013-08-13 16:51:23 · 1714 阅读 · 0 评论 -
怎样在xcode里面使用Memory Leaks和Instruments教程
教程截图: 作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误。但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计的动车早相撞了!) 幸运的是,苹果已经提供了一些好的方式来帮助你找到应用程序中内存相关的问题。有时,这些工具可能吓到初学者,但它们实际上相当有用并易于掌握! 这就是本教程说要介绍转载 2014-02-26 10:35:33 · 893 阅读 · 0 评论 -
ios GCD
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC转载 2014-02-24 20:20:43 · 3565 阅读 · 1 评论 -
委托心得
从开始从事OC工作到现在大概1年多了,从当初接触oc的"协议"的不明白,到现在代码中随处可见的委托,协议,其中感悟颇多。首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。其次,我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。转载 2013-10-13 19:46:28 · 964 阅读 · 0 评论 -
KVC的基础
KVC(Key-value coding)是一套利用字符串标识符间接访问对象属性和关系的机制。Cocoa Programming中,Core Data,Application Scriptability, 绑定(Binding)技术和声明属性之一语言特性等,都是以KVC为基础的。(Application Scriptability 和 绑定(Binding)是Mac OS X上特有的)。你也可以用转载 2013-10-13 13:01:05 · 849 阅读 · 0 评论 -
Xcode5提示模拟器未安装此应用程序
对于这个问题网上有的解答有很多方法1)cd ~/Library/Application Support/iPhone Simulator进去,删除里面所有的文件夹。重启Xcode和模拟器即可。方法2)打开模拟器,在菜单栏中 ios模拟器->还原内容和设置,操作即可。方法3)General->identity->build下面不知道为什么是空的,然后设置一个1.0就好了可原创 2013-10-08 18:05:47 · 6020 阅读 · 1 评论 -
IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
from:http://article.ityran.com/archives/1143有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起)我们需要做的第一件事就是:不要惊慌。修复崩溃不是很困难的。假如你崩溃了,并且胡乱的改些东西,而且还在不停的念着咒语希望bug神奇的自动消失,你大多数情况下都转载 2013-09-09 14:44:01 · 1973 阅读 · 0 评论 -
如何创建一个类似 Instagram 的使用 Web Service 作后台的应用 part-1
这篇文章是由 iOS 教程组成员,一个拥有12年以上软件开发经历、独立的iOS开发者、并且是 Touch Code Magazine 的创始人,Marin Todorov 所撰写的。毫无疑问 App Store 上的摄影应用有着上升之势。依靠 iPhone 令人惊叹的摄像头和快速的处理器,拍照并应用各种特效也变得越来越有趣。你希望有一篇关于如何创建与使用 web service 后台搭转载 2013-08-16 10:35:33 · 1770 阅读 · 0 评论 -
iOS中block实现的探究
[0. Brief introduction of block]Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性。用维基百科的话来说,Block是Apple Inc.为C、C++以及Objective-C添加的特性,使得这些语言可以用类lambda表达式的语法来创建闭包。用Apple文档的话来说,A block is an ano转载 2013-08-16 09:49:16 · 723 阅读 · 0 评论 -
retaincount为1release还是1
Typically there should be no reason to explicitly ask an object what its retain count is (see retainCount). The result is often misleading, as you may be unaware of what framework objects have retai原创 2013-07-28 16:08:02 · 1096 阅读 · 0 评论 -
IOS学习五:UITabBarController初步
UiTabBarController这个控制器绝对是项目架构时做常用的一个控件。我们大致看下控件的效果,我们就知道为什么说他常见了。这就是最简单的一个雏形,想必现在基本70%的应用界面结构都会是这样的。在Android中我们以ActivityGroup或是现在的fragment来实现,一个容器中包含多个子控制器。下面我们还是以建立xib文件的形式来实现一个这样的整体转载 2013-08-02 17:55:35 · 995 阅读 · 0 评论 -
ASIHTTPRequest访问https[error-9844]解决方法
iOS终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略验证的话,程序也会报[error-9844]的错误,具体错误如下描述:【Error Domain=ASIHTTPRequestErrorDomain Code=1 "A connection转载 2013-07-04 15:20:25 · 5246 阅读 · 0 评论 -
UITableViewCell的操作
UITableViewCell在ios的UITableView开发中是非常重要的一部分,所以在这篇文档,我们进行单独的讲解。本篇主要讲解UITableViewCell的标记、移动、删除、插入功能。1、标记行这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾为了实现此功能,添加如下代码:#pragma mark -#pragma mark Table Dele转载 2012-08-29 09:57:14 · 704 阅读 · 0 评论 -
NSUserDefaults standardUserDefaults的使用
hone中在本地存储数据简单的说有三种方式:数据库、NSUserDefaults和文件。NSUserDefaults用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSString,NSNumber, NSDate, NSArray, NSDictionary,详细方法可以查看类文件。NSUserDefaultsstandardUserDefaults用来记转载 2012-08-23 11:42:08 · 1095 阅读 · 0 评论 -
对象编码
对象编码把对象的类特征以及对象状态转化某种格式,这种格式可存储,也可在进程间传递。类的类型以及实例数据会被写入到某种字节流里面,当程序结束的时候,该字节流可进行持久化。程序启动的时候,新分配对象可以解码之前保存的自身描述,然后把自己恢复到之前运行时的状态。编码通常需和归档协作。归档将对象图转化成一种可以写进文件系统的格式(档案),解档则是在档案上执行操作。在此过程中,保存在档案的对象对需要自身进行原创 2012-08-23 10:02:54 · 1333 阅读 · 0 评论 -
CGContextRef
quartz 是主要的描画接口,支持基于路径的描画、抗锯齿渲染、渐变填充模式、图像、颜色、坐标空间变换、以及PDF 文档的创建、显示、和分析。UIKit 为Quartz 的图像和颜色操作提供了Objective-C 的封装。Core Animation 为很多UIKit 的视图属性声明的动画效果提供底层支持,也可以用于实现定制的动画。在调用您提供的drawRect:方法之前,视图对象会自动转载 2012-08-16 15:36:54 · 771 阅读 · 0 评论 -
autoresizingMask 属性
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 UIViewAutoresiz转载 2012-08-16 11:27:33 · 491 阅读 · 0 评论 -
基于SPP协议,通过iphone蓝牙与经过苹果MFI授权认证的硬件通讯,传输图片
因为公司产品需要,要写一个demo,演示iphone与硬件通过蓝牙通讯,传输数据包,折腾好久,终于折腾了出来了。分享一下实现的过程。 首先,要拿到苹果公司的MFI认证,然后要定义至少一种命令协议,让配件支持,Apple 并不负责提供协议的注册机制,制造商必须自己决定支持哪些协议,为了防止命名冲突,协议的名字是反向的 DNS 字符串,类似com.apple.myProtocol。原创 2012-08-19 18:47:47 · 18493 阅读 · 14 评论 -
QuartzCore
原文[http://my.oschina.net/ahuaahua/blog/29122]pattern 合并图片http://donbe.blog.163.com/blog/static/138048021201061781655949/shadow 阴影http://donbe.blog.163.com/blog/static/1380480212010617转载 2012-08-16 10:22:26 · 523 阅读 · 0 评论 -
使用Bezier Paths[转]
原文[http://www.cnblogs.com/bandy/archive/2012/03/27/2419255.html]使用UIBezierPath类可以创建基于矢量的路径。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。 1.Bezier Path 基础 U原创 2012-08-14 10:46:08 · 748 阅读 · 0 评论 -
Http协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of H转载 2012-10-22 17:15:32 · 1223 阅读 · 0 评论 -
iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
1、UINavigationController导航控制器如何使用UINavigationController可以翻译为导航控制器,在iOS里经常用到。我们看看它的如何使用:下面的图显示了导航控制器的流程。最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕;当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕。相应地,在转载 2012-11-02 09:18:52 · 718 阅读 · 0 评论 -
[IOS] Storyboard全解析-第一部分
(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解决写很多重复的跳转方法转载 2012-11-05 18:30:22 · 563 阅读 · 0 评论 -
NSString内存相关问题
关于NSString和NSMutableString的retainCount1. 字符串常量NSString *s = @"test";NSLog(@"s:%lx",[s retainCount]); //ffffffffffffffff(即UINT_MAX ( Maximum value an `unsigned int'))因为"test"为字符串常量,系统不会收回原创 2013-07-02 15:57:29 · 1109 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我转载 2013-07-02 17:49:24 · 625 阅读 · 0 评论 -
cocos2d 2.1使用Sneakyinput报错Cannot find protocol declaration for CCTargetTouchDelegate/CCStandardTouch
今天使用Sneakyinput开源框架做虚拟操作杆的时候,导入文件报错Cannot find protocol declaration for CCTargetTouchDelegate/CCStandardTouch,查询各种资料终于知道在cocos2d 2.1中协议明变了 CCTargetedTouchDelegate -> CCTouchOneByOneDele原创 2013-07-17 17:48:54 · 1680 阅读 · 0 评论 -
抽象类(abstract)和接口(interface)的区别
1 抽象类是不能被实例化的类,只能作为由其他类继承的基类;接口则定义了实现某种服务的一般规范(Objective-C中将接口称为“协议”(protocol)),声明了必需的函数和常量,但不指定如何实现。2 子类通过extends关键字来继承抽象类(且只能继承一个);类通过implements关键字来实现接口(可以实现多个)。3 在抽象类中定义的所有方法都必须在子类中实现;转载 2013-07-02 16:35:01 · 591 阅读 · 0 评论 -
iOS开发之Objective-C与JavaScript的交互
UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScript转载 2012-12-21 11:53:52 · 504 阅读 · 0 评论 -
不要使用SBJSON(json-framework)
不知道为什么,在iOS开发中,有很多人使用 SBJSON (又被称作json-framework)来做JSON解析库。我想这是因为SBJSON是最早在iOS上出现的JSON解析库。但是随着iOS开发的流行,越来越多优秀的JSON解析库也涌现出来, SBJSON和它们相比,性能上有很大的差距。现在iOS行业内主要流行的JSON解析库有: NSJSONSerialization、 Apple转载 2012-12-13 11:51:22 · 810 阅读 · 0 评论