iOS开发-学习笔记-Foundation Kit,数据类型,常用的集合-数组,枚举,字典,字符串操作

  1. Cocoa是由许多不同的框架组成的,最常用于桌面端应用程序的是Foundation 和Application Kit,她包含了所有的用户界面UI对象和高级类.
  2. iOS平台上的应用程序还需要用到User Interface Kit (UI Kit).
  3. Foundation是App KI和UI Kit的基础,拥有100多个类,所有的类都可以在安装文档中找到,
    Xcode顶部菜单栏的Help-Developer Documentation可以查看这些文档.
    常用的数据类型
  4. 范围-结构体NSRange
 typedef struct_NSRang
 {
 	unsigned int location; //存放的是该范围的起始位置,
 	//可以使用NSNotFound表示没有范围,如变量没有初始化
 	unsigned int length; // 该范围内所含元素的个数
 }NSRange;
  1. NSRange可以表示相关事物的范围.创建NSRange的三种方式:
  1. 直接给字段赋值:
NSRange range;
range.location = 2;
range.length = 4;
  1. 应用C语言的聚合结构赋值机制
NSRange range = {2,4};
  1. 利用Cocoa提供的快捷函数NSMakeRange(),可以在方法调用中作为参数传递,
NSRange range = NSMakeRange(2,4);
[anObject flarbulateWithRange : NSRange(13,15)];
  1. 几何数据类型
    处理几何图形的数据类型都带有CG前缀,(Core Graphics), 用来进行2D渲染. CG 是用C语言写的,可以使用C语言的数据类型.
    CGPoint是笛卡尔平面中的一个坐标(x,y)
struct CGPoint
{
	float x;
	float y;
};

CGSize存储长度和宽度

struct CGSize
{
	float width;
	float height;
};
  1. 创建这些数据类型的快捷函数: CGPointMake(), CGSizeMake(),CGRectMake();
    数据类型使用C的struct结构而不是对象的原因是性能,OC的对象都是 动态分配的,会消耗大量的时间和系统开销.
  2. 字符串
    创建字符串
+(id) stringWithFormat : (NSString *) format,..;
NSString *height;
height = [NSStrign stringWIthFormat : @"height is %d feet, %d inches",5,10]; 

得到的字符串是

height is 5 feet, 10 inches
  1. 类方法和实例方法的区别
    类方法
    +号开头表示类方法,在类方法中只只用类名调用,不依赖于任何对象的方法,类似于C语言的static关键字 static函数.

类方法的调用:[类方法名 + 类名]

[类方法的注意点]

1.类方法可以调用类方法

2.类方法不可以调用实例方法,但是类方法可以可以通过创建对象来访问实例方法

3.类方法不可以使用实例变量,但是可以使用self,因为self不是实例变量,是一个指针

4.类方法作为消息,可以被发送到类或者对象里去(就是可以通过类,或者对象调用类方法的意思)

实例方法
-号开头表示实例方法(又称为对象方法),只能用对象调用,依赖于对象的方法.

实例方法的调用:首先需要实例化一个类 举个例子: Student *stu = [[Student alloc]init];

调用实例方法:[stu showAge]; stu是实例对象的名字 showAge是方法名

注意:例子实例化该类时,调用了构造函数init,并且该类的构造函数调用[super init]的返回值不等于该类的self.
字符串的大小length
返回的是字符串中的字符个数,可以统计各种语言的字符串.

- (NSUIInteger) length;
NSUIIntegr length = [height length];

也可以在表达式中使用

if([height length] > 4)
	NSLog(@"OK");
  1. 字符串比较
  2. isEqualToString可以比较对象和字符串;
- (BOOL)isEqualToString : (NSString *) sString;
NSString *thing1 = @"hello";
NSString *thing2 = [NSString stringWithFormat : @"hello %d", 5];
if (thing1 isEqualToString : thing2)
{
	NSLog(@"same");
}

compare可以逐个比较字符串,返回的是一个枚举类型的结果

- (NSComparisonResult) compare : (NSString *) aString;
enum
{
	NSOrderedAscending = -1,
	NSOrderedSame,
	NSOrderedDescending
};
typedef NSInteger NSComparisonResult;

isEqualToString 是查看字符串是否相等, == 是判断两个字符串的额指针数值.
不区分大小写的比较
使用compare

字符串操作


常见字符串的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值