NSMutableArray和NSArray的常用方法及相互转换 // NSArray --> NSMutableArray NSMutableArray *myMutableArray = [myArray mutableCopy];NSMutableArray *myMutableArray = [NSMutableArray arrayWithArray:myArray]; // NSMutableArray --> NSArray NSArray *myArray = [myMutab…
1.数组类型转换无效(错误) @property(strong, nonatomic) NSMutableArray *temp_Array; _temp_Array=(NSMutableArray *)[_data_Array lastObject]; 此时_temp_Array的类型变成了NSArray 2.NSMutableArray和NSArray的相互转换 (正确) // NSArray --> NSMutableArray NSMutableArray *myMutableArray…
问题:NSMutableArray 声明为 copy 属性参数后即使接受NSMutableArray变量依然为NSArray变量 测试: 属性申明为: 1 @property (nonatomic, copy) NSMutableArray *data; 当 1 self.data = [[NSMutableArray alloc] init]; 或者接受一个NSMutableArray变量时候 1234       if (![self.data isKindOfClass: [NSMutab…
在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类.通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是第三方的插件.但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库.所以,推荐使用NSJSONSerialization类来完成转化. 一.将NSDictionary或NSArray转化为JSON串 // 将字典或者数组转化为JSON串 - (NSData *)toJSONData:(…
本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: [objc] view plain copy #import @interface Person : NSObject { NSString *_name; //姓名 NSString *_sex; //性别 NSInteger _age; //年龄 } - (NSInteger)age; - (id)initWi…
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array]; // array为NSMutableArray类型 1.2 常用方法 不可变数组对象: [array count] : 得到这个对象数组的长度. [array objectAtIndex 0]: 传入数组脚…
不可变数组 ——NSArray 常用的初始化一个数组:       NSArray *array1 = [[NSArray alloc] init];       NSArray *array2 = [NSArray array]; //对于上述两个方法,在NSArray中用的很少,因为这是一个空数组,它的值是不可改变的,意味着一旦创建,就永远为空       NSArray *array3 = [NSArray arrayWithObjects:[NSNumber numberWithInt:…
NSArray 可变数组 一.NSArray是静态数组,创建后数组内容及长度不能再修改. 实例: //用arrayWithObjects初始化一个不可变的数组对象. //初始化的值之间使用逗号分开,以nil结束. NSArray6 *city = [NSArray arrayWithObjects:@"上海",@"广州",@"重庆",nil]; for(int i=0; i < [city count];i++){ NSLog(@"…
大纲 NSArray NSMutableArray 快速枚举 NSArray NSArray是一个静态数组,也就是一个不可变数组,一旦创建以后,就不能进行添加,删除或者修改其中的元素.NSArray继承自NSObject,用于管理一系列有序对象的集合,可以通过对象在数组中的位置(索引)来访问对象.和C语言一样,数组中元素的索引是从0开始的.数组中既可以用于存放同一个类的对象,也可以用于存储不同类的对象.但不能存放nil,nil被视为数组结束的标志,系统会在方法末尾自动生成. 切记:NSArray…
在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的. 下面就先来看一下NSArray类: 一.NSArray类 // // main.m // 16_NSArray // // Cre…
NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/struct等 )它是不可变的,一但初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再玩里面添加元素 NSArray的创建方式 +(instancetype)array; +(instancetype)arrayWithObject:(id)anObject; +(instancetyp…
我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的.下面就先来看一下NSArray类   一.NSArray类 // //  main.m //  16_NSArray // //  Created by jiangwei on 14-10-12. //  Copyright (c) 2014…
******************************************** // 可变数组构造方法 //  下边两句的定义都是不可变的 //    NSMutableArray *marray1 = [[ NSArray alloc]init]; //    NSMutableArray * marray1 = @[@"xx",@"yy"]; //默认数组没有元素 NSMutableArray * marray1 = [[ NSMutableArray…
ios中常用数据类型相互转换 //1. NSMutableArray和NSArray互转 // NSArray转为NSMutableArray NSMutableArray *arrM = [arr mutableCopy]; //方法1 NSMutableArray *arrM = [NSMutableArray arrayWithArray:arr]; //方法2 // NSMutableArray转为NSArray NSArray *arr = [arrM copy]; //方法1 NSA…
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 String 开头的方法; // init 开头方法创建字符串 unichar data[5] = {97, 98, 99, 100, 101}; NSString * str = [[NSString alloc] initWithCharacters : data length : 5]; // str…
版权声明:本文为博主原创文章,未经博主允许不得转载. 数组是一个元素有序.元素可重复的集合,在iOS编程中经常被用到,而Foundation框架提供了数组对象.数组对象包括不可修改的数组对象NSArray和可修改的数组对象NSMutableArray. 一.NSArray的创建和初始化 NSArray分别提供了类方法和实例方法来创建NSArray,两种方法需要传入的参数基本相似,一般类方法以array开头,而实例方法则以init开头. 类方法 创建一个空数组:+ (id)array; 创建具有一…
前段时间与某公司的技术交流,被问到一个问题,如何删除NSDictionary中的NSNull.当时在纸上写,以前太依赖Xcode编译器了,以至于方法名都写不全,最终也没写出来,我想我肯定被鄙视的体无完肤. 最近有机会实现了一下.先来递归实现方案: // 删除NSArray中的NSNull - (NSMutableArray *)removeNullFromArray:(NSArray *)arr { NSMutableArray *marr = [NSMutableArray array]; f…
NSMutableArray:可变数组 NSMutableArray是NSArray的子类 创建NSMutableArray数组对象 添加数组元素: // 创建数组 NSMutableArray *array = [NSMutableArray arrayWithObject:@"lier",@"hello",nil]; [array addObject:[[Person alloc] init]]; // 添加元素 [array addObject:@"…
前言 @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration> @interface NSMutableArray<ObjectType> : NSArray<ObjectType> 数组只能存储 OC 对象,不能存储 C 语言中的基本数据类型,也不能存储 nil . Xcode…
NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray.当一个元素被加到NSMutableArray中时,会执行一次retain操作:当一个元素从 NSMutableArray中删除时,会执行release操作:当集合被销毁时(调用了dealloc), NSMutableArray里的所有元素都会执行一次release操作(这个原则也适用于其他集合类型:…
1.不可变数组NSArray NSArray是不可变的,而且只能储存Object-c对象.另外,数组的最后一个元素一定是nil,表示结束. 注:这些集合类只能收集cocoa对象(NSOjbect对象),如果想保存一些原始的C数据(例如,int, float, double, BOOL等, 则需要将这些原始的C数据封装成NSNumber类型的,NSNumber对象是cocoa对象,可以被保存在集合类中. 对数组进行的操作可以分为:增(插入),删,改,查 , 取,遍历,排序,比较, 对于NSArra…
Xcode4.4(LLVM4.0编译器)中NSArray, NSDictionary, NSNumber优化写法 从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性.创建数组NSArray,字典NSDictionary, 数值对象NSNumber时,可以像NSString的初始化一样简单方便.妈妈再也不担心程序写得手发酸了. A.   NSArray 首先是非常常用的NSArray,NSMutableArray.NSArray是一个初始化后就固定的静态数组.如果…
从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性.创建数组NSArray,哈希表NSDictionary, 数值对象NSNumber时,可以像NSString的初始化一样简单方便.妈妈再也不担心程序写得手发酸了. 有兴趣的朋友可以关注LLVM编译器的相关文档:http://clang.llvm.org/docs/ObjectiveCLiterals.html 关于NSDictionary和NSNumber的例子来自:http://cocoaheads.tumb…
1.NSMutableArray介绍 什么是NSMutableArray NSMutableArray是NSArray的子类 NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素 NSMutableArray是可变的,随时可以往里面添加\更改\删除元素 2.NSMutableArray基本用法 创建空数组 NSMutableArray *arr = [NSMutableArray array]; 创建数组,并且指定长度为5,此时也…
1.NSArray的基本概念 什么是NSArray? NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组 C语言中数组的弊端 int array[4] = {10, 89, 27, 76}; 只能存放一种类型的数据.(类型必须一致) 不能很方便地动态添加数组元素.不能很方便地动态删除数组元素(长度固定) NSArray的使用注意 只能存放任意OC对象, 并且是有顺序的 不能存储非OC对象, 比如int\float\double\char\enum\struct等…
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可以存放,就是类NSNumber c:NSDATA与NSString互转 d:去除输入框空格(NSString也适用) f:IBOutlet,IBAction说明 2:IOS开发基础知识--碎片2  a:获得另一个控件器,并实现跳转 b:判断IOS版本 c:Button不同状态下背景图片 d:判断设备…
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: 1.NSURLConnection 数据请求 文件上传 文件下载 会话 2.Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 3.NSURLSession 数据请求 文件上传 文件下载 会话 4.UIWebView 浏…
一个框架其实就是一个软件包,它包含了多个类.Mac 操作系统提供了几十个框架,主要帮助开发者快速的在Mac 系统上开发应用程序.其中包括一些基础框架,就是为所有程序开发提供基础的框架,其中几个常用的类包括:字符串(NSString), 数字(NSNumber), 数组 (NSArray),字典 (NSDictionary), 集合 (NSSet)等.这几个类都是经常用到的,所以必须很好的掌握,下来我们就来详细介绍这几个类. 1. 数字对象 (NSNumber) 为什么要使用数字对象?我们已经熟悉…
该文章转载自:http://sheng.iteye.com/blog/775588一:Objective-C入门 .Cocoa的组成 苹果公司将Cocoa.Carbon.QuickTime和OpenGL等技术作为框架集提供 Cocoa组成部分有: Foundation框架(有很多有用的,面向数据的低级类和数据结构) Application Kit(也称AppKit)框架(包含了所有的用户接口对象和高级类,例如NS……) ,还有一个支持框架的套件,包括Core Animation和Core Ima…
NSMutableArray基本概念 NSDictionary基本概念 NSMutableDictionary基本概念 常见的结构体 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-…