【objc】Foundation Kit

Cocoa Foundation框架有很多面向数据的低级类和数据类型,这样的类型会有更高的效率。

一、范围NSRange

typedef struct _NSRange {
    unsigned int location;
    unsigned int length;
} NSRange;

1、NSRange range;

     range.location = 17;

     range.length = 4;

2、NSRange range = {17, 4};

3、NSRange range = NSMakeRange (17, 4);

二、几种数据类型

1、

typedef struct _NSPoint {
    float x;
    float y;
} NSPoint;

2、

typedef struct _NSSize {
    float width;
    float height;
} NSSize;

3、

typedef struct _NSRect {
    NSPoint origin;
    NSSize size;
} NSRect;

三、字符串

1、创建字符串

+ (id) stringWithFormat: (NSString *) format, ...;

+  表示是类方法, 跟java的static方法很像

…  表示接受多个参数

NSString *mString;
mString = [NSString stringWithFormat:
    @"your height is %d feed, %d inches", 5,11];

2、大小

- (unsigned int) length;

3、比较

- (BOOL) isEqualToString: (NSString *) aString;

- (NSComparionResault) compare: (NSString *) string;

- (NSComarionResault) compare: (NSSting *) string
    option: (unsigned) mask;
if ([thing1 compare: thing2
    option: NSCaseInsensitiveSearch
        | NSNumericSeacch]
    ==NSOrderedSame) {
    NSLog (@"They match");
}

4、包含字符串

- (BOOL) hasPreifx: (NSString *) aString;
- (BOOL) hassuffix: (NSString *) aString;

- (NSRange) rangeOfString: (NSString *) aString;//若没有则返回NSNotFound

四、可变字符串NSMutableString

+ (id) stringWithCapacity: (unsigned) capacity;

五、集合

1、不可变数组NSArray:可以存放任意对象,不能存放基本数据类型或随机指针,不能存储nil(对象的零值或null值)

2、可变数组NSMutableArray

3、枚举NSEnumerator

4、不可变字典NSDictionary:与map比较类似,散列表

可变字典NSMutableString

六、数值

1、NSNumber:基本类型的包装类,不支持自动装箱auto-boxing

2、NSValue::可以包装任意值

3、NSNull:不能再集合中放入nil,但可以放入NSNull消除歧义

[NSNull null]总是返回一样的数值,可以使用==与其他值进行比较。

原文地址:https://www.cnblogs.com/549294286/p/2661862.html