oc基础
文章平均质量分 75
qiummm
阿里测试一枚,目前主要负责淘宝iPad客户端测试。喜欢iOS,喜欢java,善于发现问题并推动解决。在测试理论、用例设计、单元测试、自动化测试、接口测试上有自己的想法并推广给其他同学。
展开
-
xcode的gdb调试命令(转载)
Xcode的调试器为用户提供了一个GDB的图形化界面,GDB是GNU组织的开放源代码调试器。您可以在Xcode的图形界面里做任何事情;但是,如果您需要您可以在命令行里使用GDB的命令,且gdb可以在终端运行,也可以在Xcode下的控制台(Console Drawer)中运行。要在一个调试的任务里输入GDB命令行命令:在工具栏里点击Console Drawer (控制台抽屉窗口)按钮转载 2013-06-02 13:22:09 · 915 阅读 · 0 评论 -
cocoa之动态创建类
今天我们来如何在运行时动态创建类。下面这个函数就是应用前面讲到的Class,MetaClass的概念,在运行时动态创建一个类。这个函数来自《Inside Mac OS X-The Objective-C Programming Language》。#import #import BOOL CreateClassDefinition( const char * n转载 2014-04-25 10:08:41 · 753 阅读 · 0 评论 -
runtime系列学习之iOS runtime
1. 什么是runtime运行时刻是指一个程序在运行(或者在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为"运行库"。这些实例可以在它们运行的时候被连接或者被任何程序调用。程序员有时候会在什么东西应该在编译的时候加载进来以及什么东西该在运行的时候使用之间做出抉择,前者有时候成为编转载 2014-03-14 09:33:39 · 1000 阅读 · 0 评论 -
runtime系列学习之类与对象的内部结构
要理解runtime,首先我们要了解类和对象的内部结构,下面将首先介绍下OC中类与对象的结构层次。 一、首先,从 runtime.h头文件中找到对 class 与 object 的定义/// An opaque type that represents an Objective-C class.typedef struct objc_class *Class;/// Rep原创 2014-03-12 09:35:30 · 1112 阅读 · 0 评论 -
UIKit的类层次结构
根据iPhone官方的统计,App Store中游戏类应用是最多的,大概是其它应用总和的1 .5倍,在排行前20的应用中,游戏类应用超过14个。 iPhone窗口系统如下: ü UIKit.framwork? UIScreen? UIWindow? UIView ü Quartz转载 2013-06-02 13:23:45 · 1437 阅读 · 0 评论 -
[iOS]delegate和protocol
自己之前对delegate和protocol有时有点模糊,看了这篇文章,发现讲得很清晰,转载下来,给有需要的同学。protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。protocol和java里interface的概念类似,是Objective-C语法的一部分。定义protocol如下@p转载 2013-11-01 15:59:47 · 772 阅读 · 0 评论 -
完整的学习iOS路线图
在csdn的博客上看到的一张图,感觉很适合自己,分享出来给需要的人。转载 2013-11-01 15:44:18 · 893 阅读 · 0 评论 -
arc中strong和weak的区别
这两天在重拾iOS中内存管理,对arc中strong和weak的区别,看到一篇文章讲得蛮清楚,摘取部分:==========================================================================ARC工作原理手动内存管理的机理大家应该已经非常清楚了,简单来说,只要遵循以下三点就可以在手动内存管理中避免绝大部分的麻转载 2013-11-01 09:43:47 · 1680 阅读 · 0 评论 -
Category 类别 -Objective-C
category 是Objective-C 里面最常用到的功能之一。category 可以为已经存在的类增加方法,而不需要增加一个子类。而且,我们可以在不知道某个类内部实现的情况下,为该类增加方法。如果我们想增加某个框架(framework)中的类的方法,category 就非常有效。比如,如果想在NSString 上增加一个方法来判断它是否是有效的 URL,那么就可以这样做:[j转载 2013-11-01 15:41:25 · 814 阅读 · 0 评论 -
内存管理由mrc转为arc
在决定使用ARC后,很多开发者面临的首要问题是不知如何下手。因为可能手上的项目已经用MRC写了一部分,不想麻烦做转变;或者因为新项目里用ARC时遇到了奇怪的问题,从而放弃ARC退回MRC。这都是常见的问题,而在下面,将通过一个demo引导大家彻底转向ARC的世界。DemoDemo例子很简单,这是一个查找歌手的应用,包含一个简单的UITableView和一个搜索框,当用户在搜转载 2013-11-01 10:24:56 · 1135 阅读 · 0 评论 -
assign、retain、copy的区别
这是在网上找的一篇,解释三者区别最清楚的。==================================举个例子可能更好理解点 NSString *pt = [[NSString alloc] initWithString:@"abc"]; 上面一段代码会执行以下两个动作 1 在堆上分配一段内存用来存储@"abc" 比如:内存地址为:0X1111 内容为 "abc"转载 2013-10-31 20:22:25 · 871 阅读 · 0 评论 -
iOS小常识
Objective-C和C语言一样,提供了一些标准宏,描述了当前文件,所在源码文件的行数,以及函数信息。而Objective-C本身,也提供了相关的类类型。都可以应用在调试和错误处理日志当中。预处理器在C/C++/Objective-C语言中提供的宏* __func__%s 当前函数签名* __LINE__ %d 在源代码文件中当前所在行数* __FIL转载 2013-10-17 15:59:30 · 1021 阅读 · 0 评论 -
UIViewController加载与销毁
view有两个重要circle加载view(属性) 每一个UIViewController都会有property,叫“view”,这是default的,在UIViewController初始化后,当程序某部分访问view时,这时如果view是没有在内存中存在,view controller会调用loadView方法。loadView 只有在你在代码中创建实现转载 2013-07-16 11:46:41 · 4012 阅读 · 0 评论 -
使用Settings Bundle为程序添加设置项
Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。用户在Settings程序中设置好相关相关选项后回到我们自己的程序,自己的程序中的对应项也会发生相应的变化。在iOS程序中,用户默认项,即上面所说的设置项,是用NSUserDefaults类实现的。在NSUserDefaults类中使用关键字来读取和存储设置项的转载 2013-06-25 14:11:44 · 705 阅读 · 0 评论 -
UIViewController各个方法的加载顺序
加载过程:一般情况下调用 init方法或者调用initWithNibName方法实例化UIViewController, 不管调用哪个方法都为调用initWithNibName(方法定义如下)- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil接着会调用loadVie转载 2013-06-02 13:27:44 · 854 阅读 · 0 评论 -
理解 Objective-C Runtime
当人们初学 Cocoa/Objective-C 时,Objective-C Runtime 是被忽略的特性之一。原因是 Objective-C(这门语言)很容易在几小时内就熟悉,新学 Cocoa 的人花费他们大部分的时间学习 Cocoa 框架和适应它是如何工作的。然而每个人至少应该知道一些 runtime 的工作细节,需要比知道编译器会把 [target doMethodWith:var1];转载 2014-10-08 14:26:38 · 1156 阅读 · 0 评论