买了本《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*'前面有两个字符
分享到:
相关推荐
【计划1】主要针对初中生的寒假学习规划,旨在平衡各科的学习,强调每日的计划性和复习的重要性。早读时段分配给了英语、语文和政史,白天的主要学习时段则分别用于物理、数学、语文和英语的深入学习。晚上是综合...
这份作业可能是为了帮助考生在寒假期间系统地学习和巩固建筑实务相关的专业知识。 【描述】描述中的"2017二建寒假作业--建筑实务.zip"与标题相同,进一步确认了文件内容是为准备二级建造师考试的学员设计的建筑实务...
【标题】"精英九班寒假作业--姓名.zip"是一个压缩包文件,通常用于存储和传输多个相关文件。在IT行业中,这种格式常被用来归档、备份或分享大量的数据,因为它们可以有效地减小文件大小,便于网络传输。 【描述】...
【标题】"2017二建寒假作业--机电实务.zip"揭示了这是一个关于二级建造师考试中机电实务部分的学习资料。"二建"是中国建筑工程领域的一种资格认证,即二级建造师,主要负责管理和监督中小型建筑项目的施工。机电实务...
【描述】:“2017二建寒假作业--施工管理.zip”的描述简单明了,指出这是一个针对2017年二建考试的寒假作业,专门涵盖了施工管理的学习内容。这表明文件内可能包括一系列练习题、案例分析或理论讲解,帮助学生在假期...
这个压缩文件“2017二建寒假作业--市政实务.zip”显然包含了与二级建造师考试相关的市政实务学习资料,特别是针对2017年寒假期间的学习规划。在市政实务这个领域,我们需要探讨的知识点广泛且深入,涵盖了城市基础...
山东潍坊高二寒假功课2--政治.docx
教师寒假生活随笔-教师生活.doc
这表明文件的核心知识点是关于二级建造师考试中的公路实务,适合备考者进行学习和复习。 【描述解析】 描述中的信息与标题一致,再次确认了文件的内容是2017年针对二建公路实务的寒假作业。这可能包括一系列练习题...
《2017二建寒假作业--相关法规》是一个压缩包文件,主要包含了一份关于二级建造师考试中涉及的相关法律法规的学习资料。这份作业可能适用于正在准备二级建造师考试的学生或从业人员,旨在帮助他们深入理解和掌握建筑...
2011年寒假作业答案-2011年寒假报社实习总结报告.docx
寒假调查报告-某市垃圾分类的现状-问题-前景.docx
山东潍坊高二寒假功课3-政治.docx
山东潍坊高二寒假功课4-政治.docx
标题“小学生寒假活动总结-寒假生活的总结.doc”表明这是一份关于小学生在寒假期间参与的各项活动及整个假期生活体验的总结报告。这份文档可能包含了孩子们的学习成果、实践活动、个人成长以及对假期生活的反思。 ...
根据给定的信息,这份讲义主要讲解了初二数学中关于一次函数的相关...以上就是这份初二数学寒假讲义的主要内容,通过这些知识点的学习,学生可以更好地理解和掌握一次函数及其相关概念,为进一步学习打下坚实的基础。
6. 实用需求促进学习效率:如果人们出于实际需要而学习一种语言,比如为了工作或生活,他们通常比那些没有直接用途的语言学习者学得更快。 7. 文化差异与语言难度:来自不同文化背景的人会发现不同的语言更具挑战性...
【寒假学习计划安排软件】 寒假,对于学生们来说,是一段宝贵的时间,既可以放松身心,又可以用来提升自我。然而,面对诱惑重重的电脑,我们往往容易沉迷于游戏和娱乐,而忽视了学习的重要性。这时,一款高效的学习...
XX年关爱空巢老人大学生寒假调查报告-4页.pdf
新教材统编版高中政治2020-2021学年上学期高一寒假作业2-含答案.pdf