- 博客(48)
- 资源 (2)
- 收藏
- 关注
转载 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
转载 怎样在xcode里面使用Memory Leaks和Instruments教程
教程截图: 作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误。但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计的动车早相撞了!) 幸运的是,苹果已经提供了一些好的方式来帮助你找到应用程序中内存相关的问题。有时,这些工具可能吓到初学者,但它们实际上相当有用并易于掌握! 这就是本教程说要介绍
2014-02-26 10:35:33
895
转载 ios GCD
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC
2014-02-24 20:20:43
3586
1
转载 委托心得
从开始从事OC工作到现在大概1年多了,从当初接触oc的"协议"的不明白,到现在代码中随处可见的委托,协议,其中感悟颇多。首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。其次,我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。
2013-10-13 19:46:28
970
转载 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
852
原创 Xcode5提示模拟器未安装此应用程序
对于这个问题网上有的解答有很多方法1)cd ~/Library/Application Support/iPhone Simulator进去,删除里面所有的文件夹。重启Xcode和模拟器即可。方法2)打开模拟器,在菜单栏中 ios模拟器->还原内容和设置,操作即可。方法3)General->identity->build下面不知道为什么是空的,然后设置一个1.0就好了可
2013-10-08 18:05:47
6023
1
转载 IOS调试技巧:当程序崩溃的时候怎么办 iphone IOS
from:http://article.ityran.com/archives/1143有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起)我们需要做的第一件事就是:不要惊慌。修复崩溃不是很困难的。假如你崩溃了,并且胡乱的改些东西,而且还在不停的念着咒语希望bug神奇的自动消失,你大多数情况下都
2013-09-09 14:44:01
1979
原创 为了执行贝赛尔曲线动画(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
2736
转载 基于tabbarController中的每个tabbar都是UINavigation的涉及到的登陆、注销情况
目前开发的项目中,遇到了一个棘手的问题。最近深入研究学习了一下tabbarController的用法。这样深入了解了ios程序设计的原理,在ios程序的开发过程中,很多ios程序下面都有tabbarController用来显示不同的功能模块。当用户点击每个项的时候,会调用tabBarController的代理方法- (void)tabBarController:(UITabBarControl
2013-08-21 16:26:54
621
转载 iOS中UITextField 使用全面解析
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef e
2013-08-20 14:18:18
713
转载 如何创建一个类似 Instagram 的使用 Web Service 作后台的应用 part-1
这篇文章是由 iOS 教程组成员,一个拥有12年以上软件开发经历、独立的iOS开发者、并且是 Touch Code Magazine 的创始人,Marin Todorov 所撰写的。毫无疑问 App Store 上的摄影应用有着上升之势。依靠 iPhone 令人惊叹的摄像头和快速的处理器,拍照并应用各种特效也变得越来越有趣。你希望有一篇关于如何创建与使用 web service 后台搭
2013-08-16 10:35:33
1771
转载 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
725
转载 iOS应用崩溃日志揭秘
作为一名应用开发者,你是否有过如下经历?为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 !如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美。于是你打开代码准备修复闪退的问题……但是,从何处着手呢?这时iOS崩溃日志派上用场了。在大多数情况下,你能从中了解到关于闪退的详尽、有
2013-08-13 16:51:23
1718
转载 ViewController的生命周期分析和使用
iOS的SDK中提供很多原生ViewController,大大提高了我们的开发效率,下面是我的一些经验。一、结构按结构可以对iOS的所有ViewController分成两类:1、主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController。2、用于
2013-08-13 14:53:00
711
转载 手把手教你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
812
转载 IOS同步请求和异步请求的区别
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步通信方式与异步通信的概念同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟
2013-08-05 14:47:01
10427
转载 使用Xcode和Instruments调试解决iOS内存泄露
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的
2013-08-05 11:30:18
1037
转载 iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running 未运行 程
2013-08-05 11:29:04
953
转载 开源中国iOS客户端学习——(一)Prefix.pch文件
当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以 -Prefix.pch结尾文件的文件,pch全称是“precompiled header”,也就是预编译头文件,该文件里存放的工程中一些不常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度。我们知道当我们修改一个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pc
2013-08-04 20:43:47
1100
转载 UITabBarController与UINavigationController配合使用
在ios应用开发中,最常用的一种方式就是UITabBarController与UINavigationController配合使用。这篇文章主要以一个含两个标签面的应用来介绍一下两种情况:1.UITabBarController各子界面是独立的导航关系,互不影响,启动代码如下:- (BOOL)application:(UIApplication *)application didFin
2013-08-04 11:55:47
4359
转载 IOS学习五:UITabBarController初步
UiTabBarController这个控制器绝对是项目架构时做常用的一个控件。我们大致看下控件的效果,我们就知道为什么说他常见了。这就是最简单的一个雏形,想必现在基本70%的应用界面结构都会是这样的。在Android中我们以ActivityGroup或是现在的fragment来实现,一个容器中包含多个子控制器。下面我们还是以建立xib文件的形式来实现一个这样的整体
2013-08-02 17:55:35
997
原创 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
1099
原创 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
1681
转载 ASIHTTPRequest访问https[error-9844]解决方法
iOS终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略验证的话,程序也会报[error-9844]的错误,具体错误如下描述:【Error Domain=ASIHTTPRequestErrorDomain Code=1 "A connection
2013-07-04 15:20:25
5261
转载 iPhone/Mac Objective-C内存管理教程和原理剖析
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我
2013-07-02 17:49:24
628
转载 抽象类(abstract)和接口(interface)的区别
1 抽象类是不能被实例化的类,只能作为由其他类继承的基类;接口则定义了实现某种服务的一般规范(Objective-C中将接口称为“协议”(protocol)),声明了必需的函数和常量,但不指定如何实现。2 子类通过extends关键字来继承抽象类(且只能继承一个);类通过implements关键字来实现接口(可以实现多个)。3 在抽象类中定义的所有方法都必须在子类中实现;
2013-07-02 16:35:01
592
原创 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
1110
转载 iOS开发之Objective-C与JavaScript的交互
UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。stringByEvaluatingJavaScriptFromString 使用stringByEvaluatingJavaScript
2012-12-21 11:53:52
506
转载 不要使用SBJSON(json-framework)
不知道为什么,在iOS开发中,有很多人使用 SBJSON (又被称作json-framework)来做JSON解析库。我想这是因为SBJSON是最早在iOS上出现的JSON解析库。但是随着iOS开发的流行,越来越多优秀的JSON解析库也涌现出来, SBJSON和它们相比,性能上有很大的差距。现在iOS行业内主要流行的JSON解析库有: NSJSONSerialization、 Apple
2012-12-13 11:51:22
816
转载 Asp.Net中用户NT AUTHORITY\NETWORK SERVICE 登录失败(SQL2005/2008设置的解决方法)
用户 NT AUTHORITY\NETWORK SERVICE 登录失败 解决方法 (MS SQL 2005)Windows server 2003,2008 Web.Config 配置连接sql 使用 win身份验证时:当连接sql server使用信任连接(参看Web.Config文件)时就会出这个错误,在Windows XP当中,ASP.NET的运行帐号是ASPNET
2012-12-13 11:49:48
1361
转载 详解Objective-C中委托和协议
Objective-C中委托和协议是本文要介绍的内容,委托和协议是两个概念,协议实际上相当于C++中的纯虚类的概念,只定义并只能由其它类来实现。而委托类似于Java中的接口。(Objective-C实现委托这种机制是利用协议来实现的,这种说法我现在认为是不对的,理由下述:)。Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C++中纯虚类的作用,对于“委托”则和协议没有
2012-11-06 13:58:58
937
转载 [IOS] Storyboard全解析-第一部分
(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解决写很多重复的跳转方法
2012-11-05 18:30:22
565
转载 iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
1、UINavigationController导航控制器如何使用UINavigationController可以翻译为导航控制器,在iOS里经常用到。我们看看它的如何使用:下面的图显示了导航控制器的流程。最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕;当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕。相应地,在
2012-11-02 09:18:52
719
转载 Http协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of H
2012-10-22 17:15:32
1226
原创 利用inputstream读取二进制文件,并转成outputstream:
利用inputstream读取二进制文件,并转成outputstream: InputStream inputStream = getResources().openRawResource(R.raw.file3); ByteArrayOutputStream bytestream = new ByteArrayOutpu
2012-09-28 10:57:18
6129
原创 android获取图片原始长宽
在android里面要要取一张96 x 96像素每个像素点的RGB值然后处理,但是一开始直接读取 Bitmap mBitmap =BitmapFactory.decodeResource(getResources(), R.drawable.jimg001); int width=opts.outWidth;
2012-09-21 11:33:18
23317
1
转载 Android常见问题及解决方案
在eclipse中新建Android项目,项目上有错误(红色的XX) 打开类文件xx.java,随便敲个空格,保存即可 开发过程中,Android项目上出现错误(红色XX) 点问题视图,查看错误原因。如果错误比较诡异,可以尝试清理项目(Eclipe项目菜单---清理)。 如何在文本框中输入中文? 长时间摁住文本框,弹出上下菜单,选择输入法-谷歌拼音输入法 如何产生密
2012-09-13 10:58:38
1060
转载 Android SPP蓝牙传输
在Android 2.0,官方终于发布了蓝牙API(2.0以下系统的非官方的蓝牙API可以参考这里:http://code.google.com/p/android-bluetooth/)。Android手机一般以客户端的角色主动连接SPP协议设备(接上蓝牙模块的数字传感器),连接流程是:1.使用registerReceiver注册BroadcastReceiver来获取蓝牙状态、搜索设备等消
2012-09-11 10:16:25
18892
3
转载 UITableViewCell的操作
UITableViewCell在ios的UITableView开发中是非常重要的一部分,所以在这篇文档,我们进行单独的讲解。本篇主要讲解UITableViewCell的标记、移动、删除、插入功能。1、标记行这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾为了实现此功能,添加如下代码:#pragma mark -#pragma mark Table Dele
2012-08-29 09:57:14
706
转载 NSUserDefaults standardUserDefaults的使用
hone中在本地存储数据简单的说有三种方式:数据库、NSUserDefaults和文件。NSUserDefaults用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSString,NSNumber, NSDate, NSArray, NSDictionary,详细方法可以查看类文件。NSUserDefaultsstandardUserDefaults用来记
2012-08-23 11:42:08
1097
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人