zoukankan      html  css  js  c++  java
  • OC—类的设计和NSString

    经过前一段时间C语言 的学习,从这周开始正式步入OC的学习

    OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化。

    OC中定义属性字段时通常在元素前面加上_如

      NSString * _name;
        int _age;
        BOOL _sex;

    未经声明的变量一般为受保护的变量,无法被外界访问,在OC中存在如下三种修饰符

         默认为被保护的(protected: 意味着只能够本类或者子类可以访问)

         私有的(private: 只能够本类访问)

         共有的(public: 所有的类都能够访问)

    在某一修饰符后面定义的变量即具有对应的属性。

    OC中的构造方法一般以init开头,一般返回id类型(id类型是万能的对象类型),一般初始化的时候命名初始化方法(构造方法)为

    -(id)initWithName:(NSString *)name andAge:(int)age

    实现的时候一般为

    -(id)initWithName:(NSString *)name andAge:(int)age{
        self = [super init];
        if (self) {
            self.name = name;
            self.age = age;
        }
        return self;
    }

    OC中同样和java和C#一样有与元素对应的get和set方法,但是在OC中我们使用成员变量名(不要下划线)为方法命名,这对我们调用方法提供了一种简便的理解方式。例子如下:

    -(void)setName:(NSString *)name;
    -(NSString *)name;
    -(void)setAge:(int)age;
    -(int)age;

    OC中将类的方法分为类方法和对象方法,类方法在定义时以+开头,对象方法以-开头。对象方法必须在用声明的对象使用,类方法可以由类直接使用

    NSString类:

    NSString 类类似于C语言中的char *类型。但是它变得更灵活了

    NSString声明和初始化:

            NSString * str = @"123456989834348";

    学习NSString主要是对其几个方法的灵活使用

    例子如下

    1.返回字符串的长度
        NSUInteger len = [str length];
    2.返回单个字符
        unichar c = [str characterAtIndex:3];
    3.比较两个字符串的大小关系
        BOOL ret = [str1 isEqualToString:str2];
        NSComparisonResult ret2 = [str1 compare:str2];
    4.查找子串的位置和范围
        NSRange range = [str rangeOfString:@"粉刷"];
    5.子串的提取
        NSString * subStr1 = [str substringToIndex:5];
        NSString * subStr2 = [str substringFromIndex:5];
        NSString * subStr3 = [str substringWithRange:range];

    从NSString延伸到可变的字符串NSMutableString,NSMutableString 继承自 NSString,它拥有NSString的所有方法,并且增加了自己特有的方法。如下

    1.重置字符串内容
        [str setString:@"0123456789"];
    2.增 append  insert
        [str appendString:@"9876543210"];
        [str appendFormat:@"%d %c %.2f", 34, 'T', 2.34];
        [str insertString:@"ABC" atIndex:3];
    3.删 delete
        [str deleteCharactersInRange:range];
    4.改 replace
        [str replaceCharactersInRange:range withString:@"XXXXXXXXXXXXXXX"];
    5.查 rangeOfString:
  • 相关阅读:
    jmeter之GUI运行原理
    jmeter之自定义java请求性能测试
    TestNG+ExtentReports生成超漂亮的测试报告(转)
    【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告(转)
    Windows 清空剪切板
    android studio Warehouse(仓库配置)
    C/C++ string to int or int to string
    CNC FANUC define program
    CNC WEB
    CNC 法兰克加工中心CNC数控系统怎么修改程序
  • 原文地址:https://www.cnblogs.com/zhendiao/p/4693108.html
Copyright © 2011-2022 走看看