iOS的一些基础知识

2018-07-25  本文已影响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方法都是手动实现的,编译器将不会生成成员变量

上一篇下一篇

猜你喜欢

热点阅读