zoukankan      html  css  js  c++  java
  • 黑马程序员——NSString&&构造方法

     黑马程序员——NSString&&构造方法

     

    ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

    **NSString是OC中的创建字符串的类**

    1、创建常量字符串,注意“@”字符

       NSString *a=@"this is a";

       NSString *

       输出字符串:NSLog(@"%@",);

    2、用类创建字符串:

       NSString *a=[NSString new];

       a=@"字符串";

       输出字符串:NSLog(@"%@",);

    3、格式化创建字符串

       NSString *a = [NSString stringWithFormat:@"格式化字符"];

       NSLog(@"%@",a);

    4、用一个已经存在的字符串创建一个新的字符串

       NSString *a1=[[NSString alloc]initwithstring:旧字符串];

       NSLog(@"%@",a1);

     

    **NSString字符串长度计算方法(不包含,因为是无符号类型的)**

    1、通过调用NSString类的对象方法length获得字符串长度

       1)获取纯英文字符串

       NSString *a=@"this is a";

       NSUInteger len=[a length];

       NSLog(@"a length:%ld",len);或NSLog(@"a length:%ld",[a length]);

       2)字符串是中文的

       NSString *a=@"苹果";

       len=[a length];

       NSLog(@"length:%ld",len);

       OC中中英文都是一个字符

       C中一个汉字是3个字符

       3)中英文混合也是占一个字符

     

    ***构造方法***

    构造方法:用来初始化对象的方法,是个对象方法,用“-”开头

    为了让对象创建出来,成员变量就会有一些的固定值

       1)构造方法的调用

       完成创建一个可用对象:Person *p = [Person new];

       Person *p = [Person new]; 等价于:

       Person *p = [ [Person alloc] init];

       此时发生了以下三件事:

       1、使用alloc方法分配存储空间,返回分配的对象。

       2、使用init方法初始化对象。

       3、放回对象的首地址。

       4、初始化完成后,所有成员变量的值都为0.

    OC中对象进行初始化的方法:init是一个对象方法

    **用alloc的时候最好写成[ [Person alloc] init];

     

    **如何重写构造方法**

    -(instancetype)init {

    self=[super init];

    //判断父类是否初始化完成

    if(self){

    //写自定义初始化代码

    }

    return self;//self是指方法的调用者

    }

     

    **自定义构造方法**

       1.对象方法,以-开头。

       2.返回值类型为id或instancetype类型

       3.方法名以initWith开头(要先在声明文件中声明一下)

    //如果父类中已经初始化某个性质,在子类中又调用这个性质,在判断父类是否初始化的时候,不需要在初始化:

    if (self=[super initwithname:name angage :age]){

    //不需要name与age再初始化

    _sno=sno;

    }

     

    super使用:

       [super 对象];调用父类某一对象,先让父类把事情做了

    ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

  • 相关阅读:
    activity学习参考
    Activity工作流入门
    Mysql 命令查看函数,触发器。。
    本地redis下载并启动
    Could not initialize class com.taobao.diamond.client.impl.DiamondEnvRepo
    mysql把表(表已有数据)的某列属性由空到非空,以及常用列操作
    easyexcel导出两种方式response返回文件流下载和保存到服务器返回下载链接
    EasyExcel导出带下拉框,并解决导出之后打开总是显示发现不可读取内容
    el-table的fixed固定列属性导致数据错位
    el-input按回车时,解决同时触发回车和失焦事件的问题
  • 原文地址:https://www.cnblogs.com/gaozp/p/4911186.html
Copyright © 2011-2022 走看看