第17条:实现description方法】的更多相关文章

自定义类需要自己覆写description方法,否则打印信息时就会调用NSObject类所实现的默认方法.(如果不覆写,只会输出类名和对象的内存地址的信息,这只有在判断两个指针是否指向同一对象时才有用处.) debugDescription方法,此方法的用意与description非常相似.区别在于,debugDescription方法是开发者在调用器(debugger)中以控制台命令打印对象时才调用的. 例:LLDB的“po”命令可以完成对象的打印(print-object)工作. 1.一般普…
PS:经过之类重写description方法后,个人感觉有点像C#中的ToString();方法 一.description方法的作用:(输出所有的OC对象都用%@) 1.默认情况下(不重写description方法时)对象的输出信息是:<类名: 地址名> 例:<Person: 0x7fedc9c09720> 2.NSLog(@"Person对象:%@",p);--原理:会调用对象的-description方法,并且把-description方法返回的OC字符串…
A. 实例对象打印-description 1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法 2.拿到-description的返回值,显示到console中 默认返回指针地址 @implementation Person - (NSString *)description { return [NSString stringWithFormat:@"age = %d, name=%@", self.age, self.name]; } @end…
1.description方法的一般用处 1: // 指针变量的地址 2: NSLog(@"%p", &p); 3: // 对象的地址 4: NSLog(@"%p", p); 5: // <类名:对象地址> 6: NSLog(@"%@", p); 1: Class c = [Person class]; 2: 3: // 1.会调用类的+description方法 4: // 2.拿到+description方法的返回值(NS…
本文将介绍Git的17条基本用法.本文选自<Python全栈开发实践入门>. 1.初始化Git仓库 Git仓库分为两种类型:一种是存放在服务器上面的裸仓库,里面没有保存文件,只是存放.git的内容:一种是标准仓库,会在项目根目录下创建一个.git目录. $ git init # 创建标准仓库,在项目根目录下创建一个隐藏的.git 文件夹 $ git init —bare # 创建一个裸仓库,裸仓库只有.git目录内容, 而没有工作区域,一般用于在共享服务器上面创建. 2.查看当前Git配置 G…
特别注意: 千万不要在description方法中同时使用%@和self,同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用description方法 1.NSLog回顾   大家都知道,我们可以用NSLog函数来输出字符串和一些基本数据类 1 int age = 11; 2 NSLog( @" age is %d", age); * 第2行的%d代表会输出一个整型数据,右边的变量age会代替%d的位置进行输出 * 输出结果…
OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符串存储在静态区 NSString * string = "旭宝爱吃鱼"; OC对象存储在堆区 创建NSString对象: 1.用字面量来创建 NSString * string = @"旭宝爱吃鱼"; 2.通过类方法创建NSString对象 NSString * for…
类的本质 1. 类也是个对象 其实类也是一个对象,是Class类型的对象,简称“类对象” Class类型的定义 typedef struct objc_class  *Class; 类名就代表着类对象,每个类只有一个类对象 2. +load和+initialize +load l   在程序启动的时候会加载所有的类和分类,并调用所有类和分类的+load方法 l   先加载父类,再加载子类:也就是先调用父类的+load,再调用子类的+load l   先加载元原始类,再加载分类 l   不管程序运…
转:http://www.111cn.net/database/mysql/71591.htm MySQL把多个字段合并成一条记录的方法 在mysql中字段合并可以使用很多函数来实现,如可以利用 GROUP_CONCAT或一些方法,下面本文章简单的介绍一下.   创建数据库  代码如下 复制代码 CREATE TABLE IF NOT EXISTS `tet` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `url` varchar…
知识回顾 在前面已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 1 #import <Foundation/Foundation.h> 2 3 @interface Student : NSObject { 4 int _age; 5 } 6 - (void)setAge:(int)age; 7 - (int)age; 8 @end 2.Student.m 1 #import "Student.h" 2 3 @implementa…