nsarray在oc和c语言中的区别?
1、NSArray NSArray是苹果公司的cocoa库中的数组类,用Objective-c实现的。
NSArray中每个元素是id(也就是NSObject *,所有类的基类)类型,意味着NSArray中可以存放各种不同类型的对象。2、C语言中的数组 而原生的C语言是结构化编程语言,没有类这种概念,当然也没有NSArray这个类了。C语言中的数组,是一种数据类型data type(不是类class),里面必须存放相同类型的数据。例如: int a[10]; // 整型数组 char b[10]; // 字符型数组iphone数据类型?
一般而言,我们所说的数据类型/基本数据类型都是指一门语言的。
ios数据类型 = C数据类型 + Cocoa类
iOS数据类型不是一种严谨的叫法,实际上指的是C数据类型加上Cocoa框架***(Foundation、UIKit等)中定义的的数据类型,也即Cocoa类(泛指所有基于Objective-C运行时且派生自根类NSObject的类)。
Foundation框架中定义的NSObject类是iOS中最重要的数据类型,用户定义的类都需要继承自它从而获得调用iOS系统***的能力。Foundation中还有一个重要的***(Collection)概念,其包含了NSArray、NSSet、NSDictionarry以及各自的可变类型;此外,还有NSString、NSMutabString、NSNumber等重要的类型。以上提及的类型均继承自NSObject,是用户定义类型(class)而并非构造类型(struct),它们在被赋值或者被传入函数或者方法时,不会发生值拷贝,而是传递现有实例的引用。
Object-C中,怎样使用正则表达式获取括号中的内容?
说实话,我真不会,这是别人博客里的一段,你可以参考下。
用componentsSeparatedByString 方法可以根据指定的符号分割字符串到一个数组,然后再慢慢处理
写个demo给你
NSString *tmp=@"晴间多云. 最高: 1C. 风速: 10-15 公里/小时. 风向: 西北.";
NSArray *dataArr=[tmp componentsSeparatedByString:@"."];
for (NSString *tmpStr in dataArr) {
NSLog(@"%@",tmpStr);
NSArray *tmp2=[tmpStr componentsSeparatedByString:@":"];
先定义正则表达式,然后用正则表达式比较,看是否符合要求,如果返回true,则表示匹配,否则表示不匹配,示例代码如下: //定义要判断的字符串 var str = "afsfd(bcd)asfasfsad(def)asdfsadf"; //定义正则表达式对象,\表示转义字符,原点表示任意字符,+表示出现次数至少1次,igm表示忽略大小写,且全局匹配 pattern =new RegExp("\\((.| )+?\\)","igm"); //取出匹配正则表达式的内容 alert(str.match(pattern)); 就可以取出小括号内的内容了。