——黑马程序员——OC中NSString类基本用法和类方法的调用

-----------android 培训 java培训 、java学习型技术博客、期待与您交流!-----------

OC中NSString类的基本方法和类方法的调用


一、NSString类的常见用法

1、NSString是处理字符串的类,可用来创建常量字符串,注意@的使用
NSString *str = @"This is a string!"; 
2、NSString是一个类,可以用来创建一个NSString对象
NSString *str = [NSString new];
str = @"thigggfhfg";
3、以格式化的方式创建字符串
NSString *str1 = [NSString stringWithFormat: @ "这是%d次以格式化方式创建字符串 " ,i ];
4、用一个已经存在的字符串创建一个新的字符串
NSString *str4 =[ [ NSString alloc ] initWithString:str];

二、NSString字符串长度的计算

通过调用NSString类的对象方法 length 可以获得字符串的长度
1、纯英文字符
NSString *str = @"HeiMa";
int len = [str length];  
此处不包含\0
在C语言中使用的是strlen函数,例如:char *s = "abccf";  int l = strlen(s);此处也是不包含\0
2、纯中文的字符串
在OC当中中文的一个汉字占用1个字节,而在C语言中一个汉字占用3个字节

三、类方法

类方法:如果一个方法中不需要使用任何成员变量,那么该方法将声明为类方法
//
//  main.m
//  类方法
//
//  Created by YuHongpeng on 15/11/6.
//  Copyright (c) 2015年 YuHongpeng. All rights reserved.
//

#import <Foundation/Foundation.h>
@interface Caculator2:NSObject

-(int)add:(int) num1 andnum2:(int) num2;
-(int)jian:(int) num1 andnum2:(int) num2;
-(int)cheng:(int) num1 andnum2:(int) num2;
-(int)chu:(int) num1 andnum2:(int) num2;

+(int)add:(int) num1 andnum2:(int) num2;
+(int)jian:(int) num1 andnum2:(int) num2;
+(int)cheng:(int) num1 andnum2:(int) num2;
+(int)chu:(int) num1 andnum2:(int) num2;

@end

//类的实现
@implementation Caculator2

-(int)add:(int) num1 andnum2:(int) num2{

    return num1 + num2;
}

-(int)jian:(int) num1 andnum2:(int) num2{
    
    return num1 - num2;
    
}

-(int)cheng:(int) num1 andnum2:(int) num2{
    
    return num1 * num2;
}

-(float)chu:(int) num1 andnum2:(int) num2{
    
    return num1 /(float) num2;
}


//类方法定义

+(int)add:(int) num1 andnum2:(int) num2{
    
    return num1 + num2;
}

+(int)jian:(int) num1 andnum2:(int) num2{
    
    return num1 - num2;
    
}

+(int)cheng:(int) num1 andnum2:(int) num2{
    
    return num1 * num2;
}

+(float)chu:(int) num1 andnum2:(int) num2{
    
    return num1 /(float) num2;
}

@end


int main(int argc, const char * argv[]) {
    @autoreleasepool {
    
            //类方法实现计算器
            
            //创建一个对象
            Caculator2 *ca = [Caculator2 new];
            //调用对象方法
            int result = [ca add:23 andnum2:10];
            
            //调用类方法
            int result1 = [Caculator2 add:23 andnum2:10];
            
            NSLog(@"结果为:%d	%d",result,result1);
    }
    return 0;
}


四、类方法使用注意事项

1,、类方法可以和对象(实例)方法同名
2、类方法也可以从父类继承而来,子类可以重写类方法
3、类方法只能通过类调用
4、在类方法中使用了self,这个self指的就是当前类
5、类方法中不能访问成员变量,因为类方法由类调用,没有 new,就在堆区中没有分配存储空间来寸储类中的成员变量

五、匿名类的使用

匿名类的使用实际上是匿名对象的使用
1、匿名类只正确访问一次实例成员变量,以后再次访问时实际上是访问了新空间,因为每次new 的时候就会创建新的空间
2、使用匿名的类、可以调用方法,因为只出现了一次 new  
3、匿名类可以调用方法也可以做为方法的参数使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值