oc-29-可变数组
/**
数组长度不固定,可以随便往里面添加或者删除元素。
1.创建数组
NSMutableArray *arrayM = [NSMutableArray array]
2.给数组添加元素(只能是OC对象)
- (void)addObject:(id)anObject;
3.如何删除数组元素 */ #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {
@autoreleasepool {
// 1.如何创建1个可变数组
NSMutableArray *arrayM = [NSMutableArray array]; // 2.给数组里面添加元素
[arrayM addObject:@"ssssx"];
[arrayM addObject:@"赵信"];
[arrayM addObject:@"嘉文"];
[arrayM addObject:@"ssssx"];
[arrayM addObject:@"赵信"];
[arrayM addObject:@"嘉文"];
[arrayM addObject:@"ssssx"];
[arrayM addObject:@"赵信"];
[arrayM addObject:@"嘉文"]; // 3.删除数组元素
// 删除指定名字的数组元素
[arrayM removeObject:@"ssssx"];
// 删除指定位置的数组元素
[arrayM removeObjectAtIndex:];
// 删除所有元素
[arrayM removeAllObjects]; NSLog(@"%@",arrayM); }
return ;
} /*
@synthesize name = _b; //相当于操作_b的值
-(void)setName:(NSString *) name
{
_b = name;
} -(NSString *)name
{
return _b;
}
注意:在4.4之前,@property和@synthesize成对出现 2)@property 在Xcode4.4之后(@property增强)
增强使用:
@property int score; 1).h文件中 帮我们声明 setScore(setter) 和score(getter)方法
2).m 中帮我们生成_score的私有变量(在外部不能访问,不能被子类继承)
3).m 中帮我们实现 get和set方法 3、动态类型&id类型 动态类型:程序在运行的时候,才能确定对象属于什么类型
静态类型:程序编译的时候,就确定了对象的类型 动态类型的体现: 多态,父类指针可以指向子类对象
NSObject 是所有类的基类
NSObject *obj = [Dog new];
父类调用子类特有的方法
[(Person *)obj eat];
//id类型,id类型又被称为 万能指针。
id obj; //运行时检查
obj = [Car new]; //实例变量 _speed
[obj stop];
//id类型调用子类的方法的时候不要强制类型转换,NSObject *类型调用子类方法的时候要强制类型转换。 6、构造方法的使用
[Person new];
-> [Person alloc];//空间申请完后,不能立即使用,有可能会导致意想不到的错误 -> [[Person alloc] init];
[Person new]; 会把我们的成员变量的值,默认的设置为0
oc-29-可变数组的更多相关文章
- OC基础 可变数组与不可变数组的使用
OC基础 可变数组与不可变数组的使用 1.不可变数组 1.1不可变数组的创建 //实例方法 NSArray *array = [[NSArray alloc] initWithObjects:&quo ...
- Objective - C NSArray不可变数组和NSMutableArray可变数组
OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见 ...
- Oc中的数组
========================== 数组 ========================== 一.认识数组 oc中可以把NSObject对象的子类放到数组这个集合中,但是int.f ...
- NSArray与NSMutableArray 数组与可变数组
1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...
- OC基础 可变字典与不可变字典的使用
OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...
- iOS开发-OC语言 (四)数组
知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 =========== NSArray 不可变数组 ============= ...
- NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习
1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWi ...
- vector(可变数组) 用于UDP通信
头文件: #include<vector.h> 然后,声明并初始化vctor数组. vector<char> str(len); 其中len可以是变量或者常量.(其实用常量就 ...
- 可变数组NSMutableArray
//创建一个空的可变数组 NSMutableArray *array = [NSMutableArray array]; //向数组里面添加对象 [array addObject:@"< ...
- objective-c可变数组
1 #pragma mark ---------------可变数组----------------- 2 // 可以在数组里面进行增删改的操作 3 // 4 // ...
随机推荐
- Python:数字
一.数字简介 数字可以直接访问,是不可更改并且不可分割的原子类型,这些在标准类型的分类中都谈到了.不可更改意味着变更数字值的实质是新对象的创建.当然,这些对于程序员来说都是透明的,不需过多考虑. 1. ...
- 使用avalon 实现一个订座系统
avalon对交互非常复杂的WEB应用具有天然的优势,它拥有两大神器:计算属性(这相当于后端WPF的DependencyProperty)与$watch回调. 我们的订餐系统的要求如下,它有一个总额统 ...
- jgroups 常见概念
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接. 单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接. 广播(Broadcast)传输:是指在IP子网 ...
- 利用一些码农Trick去搞一搞G和T的单词
根据自然语言处理中的Zipf统计定律,在自然语言的语料库里,一个单词出现的频率与它在频率表里的排名成反比.因此,我们有理由认为,可以根据这个频率表进行一下排序,以及purning.由于精力有限,没有足 ...
- mvc中ajax.beginform一次提交重复Post两次的问题解决
在MVC4中使用ajax.beginform来做添加商品到购物车中的提交操作,结果点击提交按钮后,出现两次post,这样导致商品的数量增加了一倍. 原因:@Scripts.Render("~ ...
- php 将字符串中的连续多个空格转换为一个空格
转载自:http://www.phpernote.com/php-function/633.html /** * 多个连续空格只保留一个 * * @param string $string 待转换的字 ...
- 高性能的JavaScript -- 读书笔记
高性能的JavaScript 一. 加载和运行 将脚本放在底部 脚本下载解析执行时,页面已经加载完成并显示在用户面前 成组脚本 减少外部脚本文件数量,整合成一个文件 延迟脚本 动态脚本元素 ...
- chrome浏览器下用jQuery的load函数来跨域加载页面,响应状态status为(canceled)是什么情况? JSON和JSONP,也许你会豁然开朗,含jQuery用例
http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 问题来源:http://q.cnblogs.com ...
- Android Fragment详解
一.什么是Fragment Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的 ...
- Eclipse设置选中高亮显示(包含debug)
如果不高亮显示了:工具栏里有个黄色小笔的图标,点一下就可以了,或者alt+shift+O 设置高亮显示: