【objectivet-c】语法(五)Category和id

Category 分类

可以直接给别的类添加方法而不改变原来的类

只能增加方法 不能增加成员变量(可以访问以前类中的)

建立方法是 xcode新建类->Category

h文件

@surface class (ca)
@end

m文件

@implementation class (ca)
{
}
@end

id  万能指针

(oc对象)

比如

class *c = [class new]

等同于

id c=[class new];

可以这样理解

id== NSObject *

转载注明源地址 http://blog.csdn.net/fried_potatoes

时间: 2024-12-30 04:51:13

【objectivet-c】语法(五)Category和id的相关文章

基本语法 protocols Category extension

转:http://blog.csdn.net/wangeen/article/details/16989529 protocol   本质就是一系列的method的声明,他并不像class是必须的选项,根据自己的设计模式来选择性的使用. protocol协议时为了补充Objective-C 只能单继承的缺陷而增加的一个新功能.Objective-C重所有的方法都是虚方法,所以在oc重也就没有关键字 virtual一说,有了协议可以补充 Objective-C单继承的缺陷,协议并不是一个真正的类,

OC语法9——Category分类

Category(分类): 当我们在开发过程中要给类添加新的方法时,一般不要去动原类. 再不改动原类的限制下,怎么拓展类的方法?以往我们的做法是新建子类使其继承该类,然后通过子类拓展类的行为. OC提供了一种全新的方法:Category(分类).在不改动原类的基础上动态的拓展类的行为. 假如我们要动态拓展Student类,则应该建一个分类(Category),注意:文件命名要有规范,Student+StuOthers.h 格式:只要在被扩展的类名(原类)后加(),在括号里写分类名(拓展类名):

Java基础语法<五> 大数值BigInteger BigDecimal

如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有平有用的类:BigInteger和BigDecimal.这两个类可以处理包含任意长度数字序列的数值. BigInteger类实现了任意精度的整数运算 BigDecimal实现了任意精度的浮点数运算 使用静态的valueOf方法可以将普通的数值转换为大数值: BigInteger a = BigInteger.valueOf(100); 遗憾的是,不能使用人们熟悉的算术运算符(+ *)处理大数值. 而需要使用大数

JSP基本语法(五)

:1.解决中文乱码问题 <%@ page language="java" pageEncoding="GBK"%> JSP页面文本框输入带有中文的信息,此时再获取输入的内容,发现中文显示不正确,乱码: 处理:在对应的jsp页面中加入下面代码 <body><% request.setCharacterEncoding("GBK");//设置统一编码 String str = request.getParameter(&

Swift入门教程:基本语法(五)

断言 断言是一种实时检测条件是否为true的方法 如果条件为true,那么代码继续执行 如果条件为false,就抛出错误信息,直接终止程序的运行 断言的用法 使用全局的assert函数 passert函数接收一个Bool表达式和一个断言失败时显示的消息 assert(index >= 0, "index必须大于0") 如果index大于等于0,就继续执行后面的代码 如果index小于0,就抛出错误信息(下面的黑色字),直接终止程序的运行 assertion failed: ind

OC语言学习 (五) Category分类

分类: 在不修改原有的类的基础上增加新的方法 一个庞大的类可以分模块开发 一个庞大的类可以由多个人来编写,更有利于团队合作 除已有的Person.h和Person.m,新增两个文件(当然这样的分类 可以有很多个) Person+Stone.h #import "Person.h" @interface Person (Stone)//Person分类类型 Stone分类名 { //不能在分类中定义成员 } - (void) info; @end Person+Stone.m #impo

Razor语法(五)

约定:客户端代码称C域,服务器端代码称S域 0. 基本原则Razor模板默认是C域(与php.aspx相同)任何C域都可以内嵌S域行内S域不可内嵌C域,多行S域可内嵌任何C域@符号是关键符号,使用@从C域向S域切换使用标签从S域向多行C域切换,使用@:从S域向行内C域切换 1. 行内S域的几种形式@变量  例如:@User.Name,变量或属性结束后自动变回C域,如遇结束判断有歧义,请加括号如下@( 表达式 )  例如:@(i + 1) 或 @(User.Name)@方法调用  例如:@Html

jmeter之--断言json响应&amp;json path espressions的语法

一.提取所需要断言的内容: 响应数据如下:加入需要提取id为90的值 { "id" : 90, "name" : "python", "url" : "http://www.v2ex.com/go/python", "title" : "Python", "title_alternative" : "Python", "

JSP的三大指令和七大动作基本语法

JSP的基本构成 JSP页面主要由指令标签,注释,嵌入Java代码,JSP动作标签,HTML标记语言等五个元素组成. [1]指令标签 1.1 page指令  <%@ page attr1="value1" atrr2="value2".......%> page指令的常用属性如下:  (1) language属性 该属性用于设置JSP页面使用的语言,目前只支持Java语言.例:<%@ page language="java" %