#import int main(int argc, const char * argv[]) { } |
Foundation--基本数据类型的包装类☆
// 有一个疑问:包装类会不会自动包装和解包?<</span>假设有一个int 类型的5 先手动生成包装类,然后按照%d输出观察其结果;这个问题来源于NSArray //6.数组中存储基本数据类型,打印的array4中的23被手动生成包装类但打印是按照%d打印的> #import int main(int argc, const char * argv[]) { // } |
Foundation--字符串练习题
// #import @interface NSString (NSStringExt) - (int)calculateSubStringCount:(NSString *)str; @end // #import "NSString+NSStringExt.h" @implementation NSString (NSStringExt) - (int)calculateSubStringCount:(NSString *)str { } @end // #import #import "NSString+NSStringExt.h" //练习1;计算子串在真个字符串中出现的次数 //@"abcd123abcdrgabc" //@"abc" int main(int argc, const char * argv[]) { } |
Foundation--集合类
// 可以这样理解集合类:把一些数据打包起来作为一个数据包给函数传参<</span>当然它的作用不仅限函数传参> NSArray NDDictionary NSSet 统称为集合类,都用来打包数据 // 下面简单介绍集合概念 #import int main(int argc, const char * argv[]) { } |
NSArray
// #import @interface Person : NSObject @property (nonatomic,strong)NSString * name; @property (nonatomic,assign)int age; - (id)initWithName:(NSString *)name andAge:(int)age; @end // #import "Person.h" @implementation Person - (id)initWithName:(NSString *)name andAge:(int)age { } - (NSString *)description { } @end // #import #import "Person.h" //1.创建数组的方式 //2.获取数组中的元素 //3.数组中村粗的实际上是对象的指针地址 //4.打包数据,方便参数传递 int main(int argc, const char * argv[]) { // 上面一句话应该从右边向左边理解:karray[0]是一个字符串它需要一个字符串指针指向 // 反之如果从左向右理解:kstr是一个字符串指针,它要指向字符串,可是右边的karray[0]是不是字符串,这是 //不确定的。所以这句话应该从右往左理解 #pragma mark 从集合中取出对象 #pragma mark 判断数组中是否存在某个对象 } |
遍历数组
// #import @interface Person : NSObject @end // #import "Person.h" @implementation Person @end // #import #import "Person.h" int main(int argc, const char * argv[]) { // // } |
数组排序☆
如何理解block和后面的一些排序方式?
// #import @interface Person : NSObject @property (nonatomic,assign) int age; @property (nonatomic,strong) NSString * name; @property (nonatomic,strong) NSString * year; - (id)initWithName:(NSString *)name //+ (id)personWithName:(NSString *)name @end // #import "Person.h" @implementation Person - (id)initWithName:(NSString *)name { } - (NSString *)description { } @end // #import #import "Person.h" int main(int argc, const char * argv[]) { // // } |
可变数组
#import int main(int argc, const char * argv[]) { // // // // } |
字典类
#import //字典是以键值对的形式来存储数据 int main(int argc, const char * argv[]) { } |
可变字典
// #import @interface Student : NSObject @property (nonatomic,assign) int age; @property (nonatomic,strong) NSString * name; - (id)initWithName:(NSString *)name andAge:(int)age; @end // #import "Student.h" @implementation Student - (id)initWithName:(NSString *)name andAge:(int)age { } - (NSString *)description { } @end // #import #import "Student.h" int main(int argc, const char * argv[]) { // // // } |
集合
#import int main(int argc, const char * argv[]) { } |
可变集合
#import int main(int argc, const char * argv[]) { // } |
集合相互转换
#import int main(int argc, const char * argv[]) { } |
集合手动内存管理☆
疑问点在红山注释部分
// #import @interface Person : NSObject @end // #import "Person.h" @implementation Person - (void)dealloc { } @end // #import #import "Person.h" int main(int argc, const char * argv[]) { // // } |
ARC机制集合内存管理
// #import @interface Person : NSObject @end // #import "Person.h" @implementation Person - (void)dealloc { } @end // #import #import "Person.h" //ARC机制,是否需要担心内存溢出呢 //谁告诉你不用的心得啊:道理就是下面的示 int main(int argc, const char * argv[]) { // // //在集合中往往要注意内存问题 } |