一、IOS框架
framework可以看做是很多层的集合,底层为所有应用程序提供基础服务,高层则包含一些复杂的服务和技术。
1.Cocoa Touch是由Apple提供的软件开发API,包含一系列framework库。
2.Framework扮演底层硬件和应用程序(显示在屏幕上)的中介。
其中,两种重要的Framework:
UIKit:包含和UI界面相关的class
Foundation:包含和UI界面无关的class
二、Main函数
1.main中的return UIApplicationMain(argc,argv,nil,appDelegateClassName),就是调用UIApplicationMain方法,该方法会创建一个UIApplication的对象、以及该对象的delegate——AppDelegate。
2.通过AppDelegate,去监听APP在运行过程中的所有事件并进行处理(类似于C中的中断),使程序能循环运行。
3.创建工程的时候选择了singleview模板,所以Xcode会自动创建Appdelegate。
三、NSString和NSMutableString
1.NSString,不可变字符串
2.需求:快速的把i和f合并并且转换成字符串输出
NSInteger i = 100;
CGFloat f1 = 9.8;
NSString *str4 = [[NSString alloc] initWithFormat:@"这个整形的值为%ld这个浮点型的值为%.1f",i,f1];
3.NSMutableString,可变字符串,继承自NSString
4.初始化空白的字符串
NSMutableString *_str = [[NSMutableString alloc] init];
NSLog(@"str = %p str = %@",_str,_str); //%@表示输出OC对象,若是NSString类型,就是输出字符串
四、Class的实现
1.在OC中,类包含两个部分,声明和实现。
声明以@interface开头,以@end结尾,中间声明属性和方法。
@interface Person :NSObject //继承基类NSObject,子类拥有父类所有属性和方法
实现以@implementation开头,以@end结束,中间实现方法
2.OC中所有方法均为公有方法,所以OC要实现函数的私有化(在类外部不能直接调用),是通过隐藏函数名(只写实现不写声明)
方法在父类实现不声明,在子类声明不实现,子类也可调用该父类方法。
@interface Person : NSObject {
@public //在类的内部或外部(对象或子类)都可以直接访问,直接访问时格式: 对象->变量名
NSString *_name;
@protected //受保护类型(默认),在子类中也可直接访问
NSInteger _age;
@private //私有类型,在类外部不能直接访问,在子类中有继承但不能直接访问,可通过self.方法 调用setter等间接访问
NSInteger _weight; //成员变量以_开头
}
@end
3.类方法以+开头,对象方法以-开头
对类进行实例化,Person *XiaoKang = [[Person alloc] init]; 类方法只能由类调用,对象方法只能由对象调用
五、@property属性
1.如果要通过点语法调用setter或getter函数,需满足两点命名规则:
setter:-(void)set+(首先成员变量去掉”_”,并且首字母大写):(成员变量的指针类型)
getter:-(成员变量的指针类型)+(去掉”_”之后的成员变量的变量名)