再探Objective-C.1

/*

java转iOS已有一段时间了,但是还没有详细探究过Objective-C的细节,细节决定成败,

所以今天开始写博客来详细探究OC,无论容易或复杂都要过一编,查漏补缺.

*/


/*

 

编译预处理指令

 1

 #import:#include一样都是编译预处理指令

 

 #import 功能与#include一样也是把文件内容拷贝到#import指令所在位置

 

 #import <> #include<> 是用来包含系统的头文件的

 #import "" #include “” 是用来包含自己项目中的头文件

 

 #import #include 升级版,自动防止文件重复包含

 

 2

 Foundation 就是Foundation框架

 3

 @autoreleasepool  就是内存管理的一个东西(了解)

 

 4NSLogFoundation框架提供的用于日志输出的函数


 NSLogprintf对比

 

 1printf C语言提供的,它在stdio.h的头文件中

 2NSLog  Foundation框架提供的,NSObjCRuntime.h

 3NSLog  包含日志输出的日期,以及对应的应用程序

 4NSLog  自动换行,在末尾\n是无效的

 5NSLog 中的格式字符串不是普通C语言字符串,NSString对象

    @"" 它是一个NSString对象的字面量表示

 6printf中所有占位符在OC中都是支持的

 7 NSLog新增了格式符 %@ 用于输出的对象的

 

 

 main函数中,renturn 0;表示程序正常退出了

 */


/OC中创建类

//OC中一个类包含两个部分

//声明和实现

/*

 

  类的声明必须以@interface开头,必以@end结尾

  类的实现必须以@implementation开头,必以@end结尾

 

  NSObject:基类,所有类的祖先类

  : NSObject 作用是让Person类具有创建对象的能力

 

  Person

 

  注意点:如果一个类中只有声明没有实现,那么这个类在链接的就报错,是不可创建成功

 

  OC中方法声明的格式

  无形参:  方法类型符 (返回值类型) 方法名称

  对象方法:是属于对象的,只能通过对象调用,他的 方法类型符 -

 

 

  注意点:

        1、成员的声明必须放在@interface @end之间{}中,不能放在大括号外

        2、方法的声明必须放在{} @end之间

        3@implementation 作用就是用来实现方法的

        4、如果你类只有声明没有实现那么链接就会报错

 */


/方法是属于对象或类的,函数全局共享的

// 函数的调用只需要根据函数的名称就可以调用



//方法是属于对象或类的,所以必须在类中声明和实现

//OC中的类的定义中可以没有类的声明,但是在开发中必须要写类的声明

//对象方法必须通过对象调用


//相同点:都是封装特定的功能代码


//1、类的声明和实现不能嵌套的,声明中也不能嵌套其他声明,实现也不能嵌套其他的实现

//2、类的声明中仅仅能放成员变量和方法的声明

//3、成员变量一定要声明在大括号中,

//4、不能在声明的时候给变量赋值

//5、方法不可以写大括号中

//6、成员变量不能定义在大括号外部

//7、方法定义一定要在大括号与@end之间

//8、对象方法只能同多对象调用,不可以使用C语言的方式进行调用

//9、外部不能识别定义在@interface @end 函数,但是可以放在@implementation @end

//10、函数定义在.m文件的任何位置,但是一般情况下不会把定义在类的声明或实现中

//11、实现可以放在主调函数后面,只要声明放在在前就可以了

//11@interface  @implementation 不要忘记 @end



编译预处理指令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值