NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray.当一个元素被加到NSMutableArray中时,会执行一次retain操作:当一个元素从 NSMutableArray中删除时,会执行release操作:当集合被销毁时(调用了dealloc), NSMutableArray里的所有元素都会执行一次release操作(这个原则也适用于其他集合类型:…
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变量的值.NSString字符串的导出.NSString的常用方法等5个部分. 1.NSString的创建: #pragma mark NSString的创建 void stringCreate() { // char *s = "A String!"; // C语言中的字符串 // 这种方…
NSObject是所有类的基类,其常见用法有: #import <Foundation/Foundation.h> @interface Person : NSObject - (void)test; @end #import "Person.h" @implementation Person - (void)test { NSLog(@"调用了Person的test方法"); } @end #import "Person.h" @i…
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合类中.用法如下: #import <Foundation/Foundation.h> void number() { // 将int类型的10 包装成 一个NSNumber对象 NSNumber *number = [NSNumber numberWithInt:]; NSLog(@"n…
与NSString.NSArray一样,NSDictionary是不可变的,其对应可变类型为NSMutableDictionary.其用法如下: #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, retain) NSString *name; + (id)studentWithName:(NSString *)name; @end #import "Student…
直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是当前时间(now) NSDate *date = [NSDate date]; // now: 11:12:40 // date: 11:12:50 date = [NSDate dateWithTimeIntervalSinceNow:]; // 从1970-1-1 00:00:00开始 date = [N…
集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // [NSNull null]返回的是同一个单粒对象 NSNull *n = [NSNull null]; NSNull *n1 = [NS…
NSNumber是NSValue的子类,前者只能包装数字,后者可以包装任意值.NSArray.NSDictionary只能存储OC对象,不能存储结构体.因此,如果想要在NSArray.NSDictionary里放结构体,可以曲线救国,将结构体包装成OC对象,再放到NSArray.NSDictionary等集合类中. void value() { CGPoint point = CGPointMake(, ); // 将结构体变量包装成一个对象 NSValue *value = [NSValue…
直接上代码吧: #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, retain) NSString *name; + (id)studentWithName:(NSString *)name; @end #import "Student.h" @implementation Student + (id)studentWithName:(NSString…
NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如下: #pragma mark 创建一个数组 void arrayCreate() { // 创建一个空的数组 NSArray *array = [NSArray array]; // 创建有1个元素的数组 array = [NSArray arrayWithObject:"]; // 创建有多个元…
NSString是不可变的,不能删除字符或修改字符,它有一个子类NSMutableString,为可变字符串. NSMutableString的两种创建方法: - (id) initWithCapacity:(NSUInteger)capacity + (id) stringWithCapacity:(NSUInteger)capacity capacity只是一个最优值,字符串的大小并不限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多,也可以使用创建NSS…
一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRange的使用 NSRange r1 = NSMakeRange(, ); //第一个参数为.location 第二个参数为.length NSString *str = @"学习OC"; NSRange range = [str rangeOfString:@"学习"]…
Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such as NSArray and NSDictionary whose instances exist just to hold onto other objects. cocoa 提供了一系列的集合类,例如,NSarray,NSdictionary.它们存在的目的就是为了保持其他对象. 1.1.1N…
iOS Foundation 框架基类 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 基类 Title Topic Date NSObject Class Reference Data Typ…
------- android培训.iOS培训.期待与您交流! ---------- 昨天学习了Foundation框架中常用的结构体,下面我简单的总结一下,如果错误麻烦请留言指正,谢谢! Foundation是基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,字符串.类等,是其他ios框架的基础. 在使用Foundation框架中的数据类型,我们只要包含它的主头文件就可以了.#import<foundation/foundation.h>.需要补充的一点是有一个Core Fou…
NSNumber类 NSFormatter #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"1******************* NSFormatter ***********************"); NSNumber* nb1=[NSNumber numberWithInt:25]; NSNumber* n…
NSArray.NSSet.NSDictionary /* 集合 1.NSArray\NSMutableArray * 有序 * 高速创建(不可变):@[obj1, obj2, obj3] * 高速訪问元素:数组名[i] 2.NSSet\NSMutableSet * 无序 3.NSDictionary\NSMutableDictionary * 无序 * 高速创建(不可变):@{key1 : value1, key2 : value2} * 高速訪问元素:字典名[key] */ 字典创建 #im…
NSException类 WBStudentManager.h #import <Foundation/Foundation.h> NSString* const NameInvalidException ; @interface WBStudentManager : NSObject - (void)registStudent:(NSString*)name; @end WBStudentManager.m #import "WBStudentManager.h" @im…
一 时间类NSDate .创建一个日期对象     NSDate *date1 = [[NSDate alloc] init]; //创建了一个当前的时间点     NSDate *date2 = [NSDate date];     NSLog(@"date2:%@",date2);          .在当前时间点的基础上,进行时间的累加     //明天     NSDate *date3 = [NSDate dateWithTimeIntervalSinceNow:**];  …
基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4.OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等. NSArray NSArray *arr=[NSArray array];//初始化一个空数组 NSArray *arr1=[NSArrayarrayWithObject:@"123"];//初始化一个元素的数组…
一.使用selector对数组进行排序(无返回) 数组 book 中包含 AddressCard对象. 1.对数组调用 sortUsingSelector方法 -(void) sortByName { SEL s = @selector(compareName:); [book sortUsingSelector: s]; } 2.在AddressCard类中添加比较方法:compareName -(NSComparisonResult) compareName: (AddressCard *)…
一 NSData的使用 .string -> data     NSString *str = @"changxiangweilai";     NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];     NSLog(@"data:%@",data);          .data -> string     NSString *str1 = [[NSString alloc] ini…
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加容易.在OS X系统下有100多个框架,这些框架可以用来开发应用程序. 2. Foundation框架介绍 Foundation框架是一个由上百个函数和类所构成的集合,它为Cocoa应用程序定义了一个基本功能层.不仅如此,Foundation框架还提供了一些范例,定义了一致性的约定,包括内存管理及对…
Foundation框架 1.Foundation框架介绍 框架是由许多类.方法.函数以及文档按照一定的规则组合的起来的集合. cocoa程序编写主要用到2个框架Foundation和Application(UIKit).Foundation主要定义的是一些基础类,供程序员使用,Application Kit是一些用户界面设计的类,用于Mac开发使用.Foundation框架所有类都继承自NSObject对象. Foundation(通用的面相对象的函数库)提供字符串,数值的管理,容器及其枚举,…
Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有时候使用CoreFoundation框架的API是非常方便的,例如在与C语言混合编码的时候. Core Foundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同.Core Foundation框架是基于C语言风格的,而Foundation框架是基于Obje…
原创文章,欢迎转载.转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,虽然是大部分是可以零开销桥接,零开销并不意味着内存什么都不用管.Swift类型内存管理是采用ARC,Foundation类型和Core Foundation类型内存管理都是采用MRC或ARC,Core Foundation类型内存管理是基于C语言风格的,它有一个对象所有权的概念. Objective-C的MRC内存管理 Core Fo…
原创文章,欢迎转载. 转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,尽管是大部分是能够零开销桥接,零开销并不意味着内存什么都不用管.Swift类型内存管理是採用ARC,Foundation类型和Core Foundation类型内存管理都是採用MRC或ARC.CoreFoundation类型内存管理是基于C语言风格的.它有一个对象全部权的概念. Objective-C的MRC内存管理 Core Fo…
========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.char.double等这种都是基础数据类型. [注]继承自C语言的基础变量类型(int,float,char.double等)不能被添加到数组和字典等oc专有的数据结构中.使用不方便,也不能通过添加类别等oc专有语法进行管理. [另]可以认为,NSNumber是基础类型数据转成对象类型数据的一个类.…
在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的. 下面就先来看一下NSArray类: 一.NSArray类 // // main.m // 16_NSArray // // Cre…
我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的.下面就先来看一下NSArray类   一.NSArray类 // //  main.m //  16_NSArray // //  Created by jiangwei on 14-10-12. //  Copyright (c) 2014…