Foundation 框架
定义了一些基础类,可以用于各种典型的cocoa程序
层次的根是NSObject类,定义了基本的对象属性和行为
的剩余部分由几组
Application 框架
实现图形、事件驱动用户界面所需的对象:窗口,对话框,按键,菜单,滚动条,文本输入框等;
由超过125个类和协议组成。所有的类最终都从Foundation框架的NSObject 类继承而来。
2.NSRange
typedef struct _NSRange {
unsigned int location;
unsigned int length;
}NSRange;
struct _NSRange = NSRange
含义:
一个结构体,表示相关事物的范围。
location 字段为该范围的起始位置;
length字段为该范围内所含元素个数。
创建方式:
直接给字段赋值
应用c语言的聚合结构赋值机制
使用cocoa提供的快捷函数NSMakeRange()
例子:
对字符串取子串
#import <Foundation/Foundation.h>int main (int argc,const char * argv[]){ //输出ipa Nsstring *homebrew = @"Imperial india pale ale(ipa)"; NSRange range = NSMakeRange(25,3); //一下代码等价 // NSRange range = {25,3}; NSLog(@"beer shortname:%@",[homebrew substringWithRange:range]); return 0;}
结果是 ipa;
3.NSPoint
初始化 NSPoint 使用函数NSMakePoint
NSPoint p = NSMakePoint(10,45);
从一个结构体变量获取坐标
float x = p.x;
float y = p.y;
4.NSSize
初始化NSSize
NSSize s = NSMakeSize(10,45)
从一个结构体变量获取wIDth,heigth
float wIDth = s.wIDth;
float height = s.heigth;
5.NSRect
一个结构体,由点,大小组成而成;存储一个矩形的起始点和长度,宽度。
#import <Foundation/Foundation.h>int main (int argc,const char * argv[]){ NSRect r1 = NSMakeRect(0,100,120); NSRect r2 = {0,120}; //对结构体最底层的成员赋值 NSRect r3; r3.origin.x = 0.0; r3.origin.y = 0.0; r3.size.wIDth = 100.0; r3.size.height = 120.0; return 0;}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Q:
常见的数据都是c的struct而不是oc对象?因为性能,oc对象是通过动态分配,而动态分配是一个代价较高的 *** 作,会消耗大量的时间。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
6.可变对象和不可变对象
创建一个oc对象后,该对象的内容不可更改,则称该对象为不可变对象。
仅可进行读 *** 作,不能进行写 *** 作;
该对象内容可以更改,则称为可变对象
即可进行读 *** 作,也可进行写 *** 作,还可改变大小。
7.Nsstring
Nsstring是不可变的,即一旦创建则不可改变,可对它执行各种读 *** 作,但不能删除,添加字符,也不可改变内容。
Nsstring是一个对象类型,是NSObject的子类,具有NSObject的所有特性。
总结以上是内存溢出为你收集整理的20120810-课堂笔记--FoundationKit,NSRange,NSPoint,NSSize,NSRect,可变对象全部内容,希望文章能够帮你解决20120810-课堂笔记--FoundationKit,NSRange,NSPoint,NSSize,NSRect,可变对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)