------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
Foundation框架结构体
一般结构体的创建
struct Car{
int speed;
double price;
};
struct Car c={250,100000.0f};
NSRange:location、length
创建方式:
方式一:
NSRange c;
c.location = 10;
c.length = 8;
方式二:
NSRange c = {10,8};
方式三:
NSRange c = NSMakeRange(10,8);
NSPoint/CGPoint:值没有符合,位置
NSString NSStringFromPoint(名字);
NSSize/CGSize:值没有符合,尺寸
NSRect/CGRect
是CGPoint和CGSize的集合
NSString和NSMutableString
字符串存放在常量区,常量区特点是,一旦创建完成,就不能改变。
字符串方法使用:1、字符串的长度:
string.length
2、拼接或添加字符串
NSString str = [NSString stringWithFormat:@"%d%c",6,'s'];
NSString str = [NSString stringWitnString:@"addThings"];
3、C中字符串转换成OC字符串
NSString str = [NSString stringWithUTF8String:"needToBeConverted"];
4、获取字符串位置
NSString str = [String rangeOfString:@"needToBeSearched"];
if(range.location == NSNotFount){
NSLog(@"can't fint it");
}
5、字符串截取
NSString str = [string substringFromIndex:index];
NSString str = [string substringToIndex:index];
6、改变长度
因为字符串是常亮,一旦声明就不能更改,所以OC提供了NSMutableString
NSMutableString strMut = [NSMutableString åstring];
[strMut setString:@"string"];//设置字符串
[strMut appendString:@"addString'"];//追加字符串
注意:
if(str1 == str2){
}
实质上是判断字符串地址是否相同
和
if([str isEquakToString:str2]){
}
先判断字符串指向的地址是否相等,如果不等,就循环判断对于的字符是否相等
如果要判断两个字符串是否相等,一定要通过isEqualToString
NSArray和NSMutableArray
NSArray不可改变
NSArray创建
NSString *p1 = @"张";
NSString *p2 = @"王";
NSString *p3 = @"李";
NSArray *p = [[NSArray alloc]initWithObjects:p1,p2,p3,nil];//nill相当于C语言字符串"\0"的作用
Xcode4.4后NSArray方便创建形式
NSArray *p = @[p1,p2,p3];
NSString *pp = p[1];
[p objectAtIndex:0]用来访问元素下标
[p count]用来获取array长度
[p containsObject:@"张"]是否包含某元素(BOOL类型值)
[p arrayByAddingObject:@"赵";]在array尾部增加一个元素(返回NSArray *类型)
NSUInteger index = [p indexOfObject:@"张"];
if(index == NSNotFound){
//没有找到
}else{
//找到了
}
NSMutableArray可改变
NSMutableArray创建
NSString *p1 = @"张";
NSString *p2 = @"王";
NSString *p3 = @"李";
NSMutableArray *pMut = [[NSMutableArray alloc] initWithObjects:p1,p2,p3, nil];
添加元素:
[p addObject:p1]
[p addObjectsFromArray:其他数组]把其他数组所有元素添加到p中
[p addObject:其他数组]这样添加会使p变成二维货多维数组
[p insertObject:@"things" atIndex:0]在数组指定位置插入特定元素
[p replaceObjectAtIndex:0 withObject:@"代替品"]用代替品替换0处的元素
[p exchangeObjectAtIndex:0 withObjectAtIndex:1]下标为0和1的元素互换位置
[p removeObjectAtIndex:1]删除下标为1的元素
[p removeLastObject]删除最后一个元素
[p removeObject:@"王"]删除名为"王"的元素
[p removeAllObject]晴空数组
NSObject
常用方法
isEqual判断两个指针变量是否指向同一个对象,在OC中他还有一个简单的用法,就是直接使用"=="来进行比较,这两个效果是一样的
isMemberOfClass判断一个指针变量指向的对象是不是属于一个类创建的
isKindOfClass判断一个指针变量指向的对象是不是一个类的子类
responseToSelector判断一个类中是否有某个方法,他的判断是只要这个方法有实现,就返回YES
performSelector调用对象中的一个方法