oc70--NSArray1
//
// main.m
// NSArray是不可变的,一旦初始化完毕,就不能添加和删除了。类似于NSString和NSMutilString。 #import <Foundation/Foundation.h>
#import "Person.h" int main(int argc, const char * argv[]) { NSArray *arr1 = [[NSArray alloc] init]; //NSArray是不可变的,这样创建空的数组,以后又不能修改,所以这是没用的。
NSArray *arr2 = [NSArray arrayWithObject:@"lnj"];
// 数组中的nil是结束符
NSArray *arr3 = [NSArray arrayWithObjects:@"lnj", @"lmj" ,@"jjj", @"cp", nil];
NSLog(@"%@", arr3);//(lnj,lmj,jjj,cp),圆括号就是数组。 Person *p = [Person new];
NSObject *obj = [NSObject new];
//+ (instancetype)arrayWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_NIL_TERMINATION; ...表示是可变参数。
NSArray *arr4 = [NSArray arrayWithObjects:p, obj, @"lnj", nil];//nil是一个结束符
NSLog(@"arr = %@", arr4);//("<Person: 0x100304790>","<NSObject: 0x1007003b0>",lnj)
NSLog(@"count = %lu", [arr4 count]);//
NSLog(@"last = %@", [arr4 lastObject]);//lnj
NSLog(@"first = %@", [arr4 firstObject]);//<Person: 0x100304790>
NSLog(@"arr[1] = %@", [arr4 objectAtIndex:]);//<NSObject: 0x1007003b0> NSArray *arr5 = [NSArray arrayWithObjects:@"lnj", @"lmj", @"jjj", @"zs", nil];
if([arr5 containsObject:@"zs"])
{
NSLog(@"arr中包含zs");
}else
{
NSLog(@"arr中不包含zs");
} // 创建数组简写
NSString *str = @"lnj";
NSArray *arr6 = [NSArray arrayWithObjects:@"lnj", @"lmj", @"jjj", nil];
NSArray *arr7 = @[@"lnj", @"lmj", @"jjj"];
// 获取数组元素的简写
NSLog(@"%@", [arr7 objectAtIndex:]);
NSLog(@"%@", arr7[]);
return ;
}
oc70--NSArray1的更多相关文章
- 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...
- iOS - Swift Array 数组
前言 public struct Array<Element> : CollectionType, MutableCollectionType, _DestructorSafeContai ...
随机推荐
- Masonry基础API
Masonry基础API mas_makeConstraints() 添加约束 mas_remakeConstraints() 移除之前的约束,重新添加新的约束 mas_updateConst ...
- arx 移动界面到一点
AcDbViewTableRecord view; AcGePoint3d max = acdbHostApplicationServices()->workingDatabase()-> ...
- Eigen库笔记整理(一)
首先熟悉Eigen库的用途,自行百度. 引入头文件: // Eigen 部分 #include <Eigen/Core> // 稠密矩阵的代数运算(逆,特征值等) #include < ...
- qemu vm setup network(ssh) with buildroot
1, build buildroot with buildroot.config, that is 'make qemu_x86_64_defconfig' + some packages, sshd ...
- windows10下win+R快速打开程序
按下win+R进入运行窗口,输入应用程序名称按下回车键 即可打开该应用,若提示“windows找不到文件”,请看下一步 可以采用建立统一的目录管理,新建目录“F:/local/bin” 将新建目录的路 ...
- 用TWaver加载大型游戏场景一例
游戏中经常会出现一些大型的户外场景,例如一个小镇.一座古城等.通常这种场景中包含了较多的建筑.道路.桥梁等等元素,其3D模型比较大且复杂.在使用TWaver加载时,可使用一些技巧,让加载速度更快.显示 ...
- 第二章 设计高质量的React组件
第二章 设计高质量的React组件 高质量React组件的原则和方法: 划分组件边界的原则: React组件的数据种类: React组件的生命周期. 2.1 易于维护组件的设计要素 1.高内聚:指的是 ...
- Linux下查看Tomcat运行日志
查看方式 1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.Ctrl+c 是退出tail命令/alt+E+R重置 部署常用指令 1.ps ...
- Pycharm Anaconda 安装dlib
由于采用python3.7安装会出现各种问题,两种解决方法. 1)安装Cmake boost等(不推荐,麻烦且不容易成功). 2)安装Anaconda,创建一个python3.6的环境. 这里使用第二 ...
- MySQL Connector/Python 接口 (一)
这里仅介绍 MySQL 官方开发的 Python 接口,参见这里: https://dev.mysql.com/doc/connector-python/en/ Chapter 1 Introduct ...