OC-关于OC中的对象方法和类方法的相互调用1

对象方法和类方法的区别和概念,大家都知道,关于两者之间的相互调用,本人小有总结

#import "NSString+WW.h"

@implementation NSString (WW)

//类方法------------------------

+(int )numberCountOfString:(NSString *)str{

//    int count=0;

//    for (int i=0; i<str.length; i++) {

//     char c =   [str characterAtIndex:i];

//

//        if (c>=‘0‘&&c<=‘9‘) {

//            count++;

//        }

//

//    }

//    return count;

return  [str numberCountOfString];//用这个可以代替上面的,简单明了。

}

//对象方法---------------------

-(int)numberCountOfString{

int count = 0;

for (int i=0; i<self.length; i++) {

char c = [self characterAtIndex:i];

if (c>=‘0‘&&c<=‘9‘) {

count++;

}

}

return count;

// return   [ NSString numberCountOfString:self];

}

@end

注意点:

1、对象方法和类方法名称可以相同,

2、一般两者可以相互调用

3、一般情况,例如对象方法,经常被用到这个方法,那么可以在函数的其他对象中,可以随时用类方法来调用这个对象方法,

4、这个相互调用,一个要熟练掌握

时间: 2024-12-24 07:16:58

OC-关于OC中的对象方法和类方法的相互调用1的相关文章

Objective-C学习笔记(十九)——对象方法和类方法的相互调用

事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法: (1)先在People.h中分别声明两个方法: -(void)show; +(void)showw2; (2)然后在People.m中分别实现两个方法,并在对象方法中调用类方法,调用方式也是用  "类名 方法名"进行. -(void)show{ NSLog(@"我是一个对象方

Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用

在程序设计中,函数的使用无疑大大简化了代码的编写,提高代码运行的效率,减少重复代码.所以现在我们来详细研究一下方法.本例子还是以People类为例. (一)代码一: (1)先在People.h中声明一个方法,该方法为对象方法,也就是普通方法,前面是一个减号. -(void)show; (2)在People.m中实现该方法: -(void)show{ NSLog(@"我是一个对象方法,我被调用了!"); } (3)在main.m中调用该方法: People *people = [[Peo

对象方法和类方法的区别

类方法 1.类方法的调用不依赖与对象,直接用类名调用 [类名  方法名] 2.类方法语法:+ (返回值类型) 方法名 3.类方法中不可以访问类对象的成员变量 4.类方法中也可以调用对象方法 5.通常在不访问类成员变量的时候,用类方法,一般是一些工具类 6.使用类方法可以提高性能和效率 对象方法 1.对象方法的调用依赖与对象  [对象指针  方法名] 2.对象方法语法:- (void) 方法名 3.对象方法中可以访问类对象的成员变量 注:同一个类中可用有同名的两个对象方法和类方法 例:- (voi

js中Array对象方法详解

操作方法:concat() slice() splice() concat()方法可以基于当前数组中的所有项创建一个新数组.具体来说,这个方法会创建当前数组一个副本,将接收到参数添加到副本的末尾,最后返回新构建的数组.如果没有参数,复制当前数组并返回副本.如果参数是一个或多个数组,会将数组中的每一项添加到结果数组中.如果参数不是数组,将参数值添加到数组末尾. var colors = ['red','green','blue']; var colors2 = colors.concat('yel

element 验证表单的对象中的对象方法

在验证的属性字段中加上双引号即可,如下: rules: { //正常的验证规则 Type: [ { required: true, message: '请选择赠送卡券类型', trigger: 'change' } ], //对象中的对象验证规则 "CouponList.Value": [ { required: true, message: '请输入卡券数值', trigger: 'blur' }, ], } 原文地址:https://www.cnblogs.com/zhengchu

黑马程序员----对象方法和类方法

一.对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 二.类方法 1> 加号 + 开头2> 只能由类名来调用3> 类方法中不能访问成员变量(实例变量) 注:可以允许类方法和对象方法同名 三.类方法的好处及使用场合 1> 类方法不依赖于对象(不创建对象也可以调用),执行效率高 2> 能用类方法,尽量用类方法 3> 场合:当方法内部不需要使用成员变量时,就可以改为类方法 代码练习: 运行结果:

黑马程序员--Objective-C类方法与对象方法、区别、与调用-我之见解

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 类方法. 1. 特点: 以加号( + )开头, 调用格式:  [类名  方法名] 类方法的好处:不需要创建实例对象,直 接通过类名访问,节省空间 ,提高了效率 2.注意事项: 类方法可以和实例方法同名, 相互之间互不影响 类方法可以从父类

Objective-C学习笔记(二十)——成员变量对对象方法与类方法的可见性分析

之前在学习C++,或者java的时候,都会遇到一个可见性的问题,这篇文章我们来讨论声明的成员变量对对象方法(减号方法)和类方法(加号方法)的可见性问题. (一)代码一:成员变量对减号方法可见,对加号方法不可见. 在People.m中声明一个成员变量:NSString *_peopleName;然后发现可以在减号方法中访问该变量,在加号方法中不可以访问该变量. -(void)ObjectShow{ NSLog(@"我是对象方法"); [email protected]"成员变量

对象方法、类方法、原型方法 &amp;&amp; 私有属性、公有属性、公有静态属性

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <script> //对象构造函数 function Atest(name){ //私有属性,只能在对象构造函数内部使用 var class