买了本《learn objective-c on Mac》,一开始买来看起来还蛮薄的,250页,看了后,发现语言都有很多共同的地方,新的特性都从C++和java类似过来,就是换了个名字,感觉看了以后感觉收获蛮大,虽然只接触了点皮毛。
1.C语言知识
2.了解了xcode使用
3.懂得了一些新语法和新特性。
---------------------------------------------------------------------------------------------
1.正式协议 与 非正式协议(被@optional的正式协议代替) 与文件加载保存
@required 一定要实现
@optional 选择性实现
例1.
@protocol NSCopying //深度复制复制
-(id) copyWithZone:(NSZone*)zone;
@end
NSArray的copy为浅复制
@protocol NSCoding //编码与解码
-(void)encodeWithCoder:(NSCoder*)acoder;
-(id)initWithCoder:(NSCoder*)decoder;
NSCoding可用于将任何对象编码为NSData NSData可用 [data writeToFile:"tmp.txt" atomically:true] 存入硬盘
例1:
通过NSKeyedArchiver类进行编码为NSData
NSData*data=[NSKeyedArchiver archivedDataWithRootObject:对象];自动调用encodeWithCoder
A *a=[NSKeyedUnarchiver unarchiveObjectWithData:data]; //解码
------------------------------------------------------------------------------------------------------------
属性列表 NSArray NSDictionary NSString NSNumber NSDate NSData
1.NSArray
+(id)arrayWithObject:... 以nil结尾
-(unsigned)count;
-(id)objectAtIndex:(unsigned) index;
NSMutableArray
+(id)arrayWithCapacity:(int);
-(void)addObject:(NSObject);
-(void)removeObjectAtIndex:(int)index;
2.NSDictionary
+(id)dicitonaryWithObjectsAndKeys:(id)firstObject,(NSString*)firstkey...;
-(id)objectForKey:(id)key;
NSMutableDictionary
+(id)dicitonaryWithCapacity:(int)n;
-(void)setObject:(id) object forKey:(id)key;
-(void)removeObjectForKey:(id)key;
3.NSNumber
封装标准类型
NSNumber*a=[NSNumber numberWithInt:10];
4.NSDate
+(NSDate*)date;
+(NSDate*)dateWithTimeIntervalSinceNow:(int)a;
5.NSData
+(NSData*)dataWithBytes:(NSObject) length:(int);
-(int)length;
-(NSObject) bytes;
--------------------------------------------------------------------------------------------------------
谓词:
谓词实际上就是用简单的方式给出限制条件 可以用for 和if来替代
NSPredicate:
+(NSPredicate)predicateWithFormat:....
-(NSArray*)filteredArrayUsingPredicate:predicate;
例:
谓词还给了很多的运算符(可以沿用C的运算符)
例:沿用上了例子的类
NSPredicate*predicate=[NSPredicate predicateWithFormat:@"(name=='A')AND(name=='B')"];
数组运算符 name BETWEEN{MIN,MAX};
name IN{"A","B"};
SELF的运用:
NSArray*a=[NSArray arrayWithObject:@"A","B",nil];
NSPredicate*predicate=[NSPredicate predicateWithFormat:@SELF IN "'A','B' "];
NSArray* b=[a filteredArrayUsingPredicate:predicate];
字符串运算符:
BEGINSWITH
ENDSWITH
CONTAINS
[c]忽略大小写
[d]忽略重音符
[cd]都忽略
例: BEGINSWITH[c]
LIKE运算符
LIKE '*A*' 中间包含A即可
LIKE '??A*'前面有两个字符
分享到:
相关推荐
在寒假这个难得的长假期中,合理规划学习与休息时间,不仅可以巩固和拓展在校所学知识,也能有效提高学习效率和综合素质。本文档中的“2016寒假学习计划”提供两套针对不同学龄学生的个性化学习方案,旨在帮助学生在...
显然,这是精英九班某位学生的寒假作业,经过整理打包,以电子邮件或者在线学习平台的方式提交给了教师。在疫情期间,这样的远程提交作业的方式成为了常态,师生之间的文件交流变得更加依赖于网络和电子设备。此时,...
这份作业可能是为了帮助考生在寒假期间系统地学习和巩固建筑实务相关的专业知识。 【描述】描述中的"2017二建寒假作业--建筑实务.zip"与标题相同,进一步确认了文件内容是为准备二级建造师考试的学员设计的建筑实务...
【标题】"2017二建寒假作业--机电实务.zip"揭示了这是一个关于二级建造师考试中机电实务部分的学习资料。"二建"是中国建筑工程领域的一种资格认证,即二级建造师,主要负责管理和监督中小型建筑项目的施工。机电实务...
【描述】:“2017二建寒假作业--施工管理.zip”的描述简单明了,指出这是一个针对2017年二建考试的寒假作业,专门涵盖了施工管理的学习内容。这表明文件内可能包括一系列练习题、案例分析或理论讲解,帮助学生在假期...
这个压缩文件“2017二建寒假作业--市政实务.zip”显然包含了与二级建造师考试相关的市政实务学习资料,特别是针对2017年寒假期间的学习规划。在市政实务这个领域,我们需要探讨的知识点广泛且深入,涵盖了城市基础...
山东潍坊高二寒假功课2--政治.docx
教师寒假生活随笔-教师生活.doc
这表明文件的核心知识点是关于二级建造师考试中的公路实务,适合备考者进行学习和复习。 【描述解析】 描述中的信息与标题一致,再次确认了文件的内容是2017年针对二建公路实务的寒假作业。这可能包括一系列练习题...
在当前全球化的大背景下,英语作为国际通用语言的地位愈发...而高二学生们在寒假期间,通过完形填空等练习,不仅仅是为了掌握英语知识,更是在培养一种自主学习和不断探索的精神,为未来的语言学习之路打下坚实的基础。
2011年寒假作业答案-2011年寒假报社实习总结报告.docx
寒假调查报告-某市垃圾分类的现状-问题-前景.docx
山东潍坊高二寒假功课3-政治.docx
山东潍坊高二寒假功课4-政治.docx
根据给定的信息,这份讲义主要讲解了初二数学中关于一次函数的相关...以上就是这份初二数学寒假讲义的主要内容,通过这些知识点的学习,学生可以更好地理解和掌握一次函数及其相关概念,为进一步学习打下坚实的基础。
### 寒假社会实践---传承非物质文化 #### 非物质文化遗产的重要性 非物质文化遗产是指世代相传、具有特定社区或群体认同感的文化表现形式及其相关的工具、实物、工艺品和文化场所。这些遗产不仅承载着一个民族的...
对于刚刚度过这个寒假的小学生们而言,这不仅仅是一个简单的休息时间,更是一个探索自我、拓展视野、学习新知和加强家庭联系的重要时刻。现在,让我们通过这份精心准备的“小学生寒假活动总结-寒假生活的总结.doc”...
【寒假学习计划安排软件】 寒假,对于学生们来说,是一段宝贵的时间,既可以放松身心,又可以用来提升自我。然而,面对诱惑重重的电脑,我们往往容易沉迷于游戏和娱乐,而忽视了学习的重要性。这时,一款高效的学习...
XX年关爱空巢老人大学生寒假调查报告-4页.pdf
新教材统编版高中政治2020-2021学年上学期高一寒假作业2-含答案.pdf