美文网首页
iOS的一些基础知识

iOS的一些基础知识

作者: 想不出一个 | 来源:发表于2018-07-25 10:20 被阅读0次

    最近不是很忙,所以抽空把之前学习的iOS相关的知识进行了一次梳理,同时也当成对自己知识的一次巩固!

    Foundation框架中一些常用类的使用

    (1)NSString

    创建方式

    1)NSString  *s = @" ";//直接创建

    2)  NSString  *s = [[NSString alloc] initWithFormat:@" ",*]//使用格式创建

    3) NSString  *s =  [NSString alloc]initWithUTF8String:@""]//c字符串转OC字符串

    4)NSString *s = [NSString alloc] initWithContentsOfFile:@"文件路径 "]//从文件读取信息 到字符串

    (2)NSArray 创建方式

    1)NSArray  *arr = [NSArray array]//创建一个空数组

    2)NSArray  *arr = [NSArray arrayWithObject:@" "]

    3)NSArray  *arr = [NSArray arrayWithObjects:@"",@" ",nil]//创建多个元素的数组

    4)NSArray  *arr = @[@"",@"",@""]//快速创建一个数组

    NSArray的遍历

    1)for(id objc in array)

    {    }

    2)block遍历

    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger inx, BOOL *stop)

    {  }]

      (3) NSDictionary创建方式

    1)NSDictionary *dict = [NSDictionarydictionaryWithObject:@" " forKey:@""]

    2)  NSDIctionary *dict = [NSDictionarydictionaryWithObjects:arrayforKeys:array]

    3) NSDictionary  *dict =[NSDictionary  dictionaryWithObjectsAndKeys:@"value",@"key",@"value",@"key",nil]

    4) NSDictionary  *dict = @{@"key":@"value",@"key":@"value"}

    OC对象的Set方法:

    note:

    (1)方法名必须以set开头;

    (2)Set后面跟上成员变量的名称,首字母大写;

    (3)有跟成员变量一样的类型的参数;

    (4)形参名不能成员变量名一样。

    OC对象的Get方法:

    note:

    (1)有返回值,返回值的类型和成员变量的类型一致;

    (2)方法名和成员变量名一样;

    property属性跟synthesize属性:

    这两个属性用于生成变量的默认Set方法和Get方法

    synthesize关键字帮助生成成员变量的setter和getter方法的实现

    1.synthesize属性的使用场景:

    (1)同时重写了setter和getter函数;

    (2)重写了只读属性property的getter方法(这里property必须声明在.m文件中)

    (3)声明在@protocol中的property

    (4)重载的属性

    2.property属性用于生成变量的默认Set方法和Get方法的声明

    property括号内属性详解:

    assign :简单的赋值,不改变引用计数,主要针对基本类型;

    retain(等同于strong) : 释放旧对象,将旧对象的值赋予输入对象,并将输入对象的索引计数+1,主要是NSObject与其子类(指针复制,指向同一块地址)

    copy:创建一个索引计数为1的对象,释放掉原来的对象(内容复制)

    readonly:表示只读属性,只会生成getter方法

    readwrite:可进行读写操作,生成setter方法跟getter方法

    nonatimic:非原子访问,不加同步,多线程并发访问

    注意:xcode4.4以后,property属性声明同时实现了生成成员变量的get方法和set方法声明、get方法和set方法的实现以及对应变量的生成。这种方式生成的变量是私有的。如果get方法跟set方法都是手动实现的,编译器将不会生成成员变量

    相关文章

      网友评论

          本文标题:iOS的一些基础知识

          本文链接:https://www.haomeiwen.com/subject/sygemftx.html