OC学习笔记

91 阅读2分钟

Objective-C

开发工具: Xcode 开发工具

OC数据类型:整型int、浮点型float、布尔类型、 字符串NSString(eg:NSString str = @"hello world") 数组:可变数组NSMutableArray、不可变数组NSArray mutableCopy 字典:可变字典NSMutableDictionary、不可变字典NSDictionary mutableDicDeepCopy IOS属性:属性是OC语言的一个机制,我们在OC中用@property来声明的一个属性,其实@property是一种语法糖,编译器会自动为你的实例变量生成getter方法和setter方法。 Foundation框架 提供了一些最基础的功能:输入和输出,一些数据类型。 Foundation.h这个文件中包含了Foundation框架中的其他的所有的头文件。所以,我们只要包含Foundation.h就相当于包含了Foundation框架中所有的头文件。那么Foundation框架中的所有的函数和类就可以直接使用。 #import <Foundation/Foundation.h> int main(){ NSLog(@"hello world") return 0; }

NSLog函数 不仅仅可以输出C数据类型变量的值还可以输出OC新增的数据类型的变的值 printf函数 不能输出这些数据类型 类的实现 同一类的每个对象有不同的实例变量的存储空间 实例变量 @propert @interface @implementation @synthesize @autoreleasepool NSNumber numberWithInt initWithFloat NSString NSArray NSDictionart NSSet 属性修饰符: 读写性修饰符: readwrite 可读可写(系统默认属性) -----系统为我们创建setter和getter方法 readonly 只可读不能写 -----系统只为我们创建getter方法,不会创建setter方法 原子性修饰符 atomic 原子属性 -----线程安全但可能降低性能 nonatomic 非原子属性 -----提高性能但非线程安全 assgin和weak 非持有关系,也不被称为弱引用,在调用时,不会增加引用对象的引用计数。 weak在引用对象被销毁时,会被指向nil;而assgin不会被置为nil。 做一些操作对应的生命周期调用的顺序 程序启动:状态由Not running -> Inactive -> Active willFinishLaunchingWithOptions didFinishLaunchingWithOptions applicationDidBecomeActive 点击home键|锁屏:由Active -> Inactive -> Backgroud applicationWillResignActive applicationDidEnterBackground 重新进入前台:Backgroud -> Inactive -> Active applicationWillEnterForeground applicationDidBecomeActive 在前台,双击home键,手动杀掉APP:Active -> Inactive -> Backgroud -> end applicationWillResignActive applicationDidEnterBackground applicationWillTerminate 当URL到达时,如果你的应用没在正在运行,则会被启动并且移到前台运行以打开URL application:didFinishLaunchingWithOptions: application:openURL:sourceApplication: applicationDidBecomeActive 当URL到达时,如果你的应用正在background运行或被suspended,它将会被移到前台以打开URL applicationWillEnterForeground application:openURL:sourceApplication: applicationDidBecomeActive