iOS 编程学习笔记之Foundation框架

Foundation 框架:

  • NSString (c字符串前面加@)

    • NSString *myString = @"My String\n";
    • NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"];
    • NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8StringEncoding];
    • NSString *string = [NSString string]; NSString 类声明 string 类方法 ?
  • NSNumber
    • NSNumber *myIntValue = @32;
    • NSNumber *myDoubleValue = @3.22346432;
    • NSNumber *myBoolValue = @YES;
    • NSNumber *myCharValue = @‘V‘;
    • NSNumber *myFloatValue = @3.2F
  • NSArrayNSSet 和 NSDictionary 类的内容不能随时间而变化。
  • NSArray(可以存不同类的实例!)
    • 虽然NSArray不可变,但是它所存的元素是可变的。(可以理解为它保存的是指针变量。)
    • 定义:
      • NSArray *someArray = @[firstObject, secondObject, thirdObject];(不要用nil结尾)
      • NSArray *someArray =[NSArray arrayWithObjects:firstObject, secondObject, thirdObject, nil];(以nil作为结尾符,与c中的char数组类似)
    • “成员函数”:
      • 数组元素个数:[someArray count]
      • 查找元素:[someArray containsObject:someString]
      • 访问元素:[someArray objectAtIndex:0]  (此方法在数组为空时会返回异常)
      • 访问元素:someArray[0] (实为上个方法的重写)
      • 输出元素到NSlog函数:NSLog(@"First item is: %@", [someArray objectAtIndex:0]);
      • NSArray *sortedStrings = [unsortedStrings sortedArrayUsingSelector:@selector(compare:)]; (由于NSArray不可变,所以该方法会返回新的排好序的数组)
  • NSMutableString
    • NSMutableString *mutableString = [NSMutableString stringWithString:@"Hello"];
    • [string0 appendString:@" World!"]
    • [string0 isKindOfClass:[NSMutableString class]] 判断是否是这个类或者这个类的子类的实例
    • [string0 isMemberOfClass:[NSMutableString class]] 判断是否是这个类的实例
  • NSMutableArray
    • NSMutableArray *mutableArray = [NSMutableArray array];
    • [mutableArray addObject:@"gamma"];
    • [mutableArray replaceObjectAtIndex:0 withObject:@"epsilon"]; 或者 mutableArray[0] = @"epsilon";
    • [mutableArray sortUsingSelector:@selector(caseInsensitiveCompare:)];
      • @selector(localizedCompare:) 普通排序
      • @selector(caseInsensitiveCompare:) 按升序且不区分大小写的顺序排序
  • NSSet (单个对象只会添加一次,和stl里的set类似)
    • NSSet *simpleSet = [NSSet setWithObjects:@"Hello, World!", @42, aValue, anObject, nil];
  • NSDictionary (感觉就是stl中的map)
    • //NSDictionary 创建

      //NSDictionary 简洁

    • 查询对象:NSNumber *storedNumber = dictionary[@"magicNumber"]; 或者 NSNumber *storedNumber = [dictionary objectForKey:@"magicNumber"];
    • 可变性:使用 NSMutableDictionary 子类?
    • //添加、删除
    • (虽然其他对象也可以用作键,但要注意,每个键都会被拷贝以供字典使用,并且必须支持 NSCopying。不过,如果要使用键-值编码,则必须为字典对象使用字符串键。若要了解更多信息,请参阅《Key-Value Coding Programming Guide》(键值编码编程指南)。)
  • NSNull (单例类)
    • nil表示无对象,[NSNull null]才是null值。
    • NSArray *array = @[ @"string", @42, [NSNull null] ];
    • //for语句、NSlog函数
时间: 2024-09-29 11:15:29

iOS 编程学习笔记之Foundation框架的相关文章

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

IOS 编程学习笔记

一.搭建环境. IOS程序必须在mac os x系统上编程这点真是令人不爽.这不是存心在坑我这种穷人么... 花了将近一下午,终于找到可用的mac os x 10.9系统.VMware的补丁(下载地址)和系统安装的图文教程(自己搜吧). 然后是苦逼的安装-. 二.xcode初探 终于运行起了mac os x系统,心中那个激动啊!!!现在只要把xcode安装好,就可以开始编IOS程序了!不过-xcode居然有2个G-你当你自己是Visual studio吗- 安装好了xcode,开始正经地编程了.

OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)

一.NSNumber OC数组类NSArray,它只能存放 OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的 NSNumber就有用了,它能够把基本数据类型包装成OC对象. // 将整形包装成OC对象 NSNumber *num1 = [NSNumber numberWithInt:120]; // 将浮点形包装成OC对象 NSNumber *num2 = [NSNumber numberWithDouble:

hadoop 学习笔记:mapreduce框架详解

hadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我 学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能是我做技术研究的 思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习 hdfs时候我就发现,要理解hadoop框架的意义,hdfs和mapreduce是密不

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

IOS开发系列—Objective-C之Foundation框架

概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有: Foundation概述 常用结构体 日期 字符串 数组 字典 装箱和拆箱 反射 拷贝 文件操作 归档 Foundation概述 为什么前面说的内

DirectX 11游戏编程学习笔记之7: 第6章Drawing in Direct3D(在Direct3D中绘制)(重点回顾+勘误)

        本文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系[email protected]         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.同样的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之6 这一章应该是本书最长的一章了,可能也是最难的一章,所以大家一定要好好消化,仔细学习!这一章大致相当于"龙书"第二版的第7章和第8章,还添加了一些别的东西. 由于这一

IOS开发学习笔记(2)-----UIButton 详解

1. [代码][C/C++]代码     //这里创建一个圆角矩形的按钮    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];    //    能够定义的button类型有以下6种,//    typedef enum {//        UIButtonTypeCustom = 0,          自定义风格//        UIButtonTypeRoundedRect,