------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
黑马程序员-iOS基础-Objective-C基础(一)
一、Objective-C基本语法
1、简介
Objective-C,简称OC,是在C语言的基础上,增加了一层面向对象的语法
在兼容性上,完全兼容C语言,可以在OC代码中混入C代码,甚至C++代码,只在代码文件扩展名上有区别
C文件扩展名.c
OC文件扩展名.m
混入C++代码文件扩展名.mm
OC代码可以用来开发MacOSX和iOS平台程序
2、语法概览
关键字:基本上都是以@开头(也有少数不是以@开头的)
字符串:以@开头,如:@"Hello"
基本数据类型:
1.int
2.char
3.float
4.double
5.BOOL(相比于C语言多出来的类型),取值只有YES/NO(全大写)
nil:相当于C语言的NULL,也就是0
基本语句:基本与C语言一致
循环语句:
do...while
while
for
条件语句
if
if...else
switch
注释:与C语言一致
// 单行注释
/*......*/ 多行注释
屏幕输出(与C语言不同)NSLog
举例:
NSLog(@"Hello");
NSLog(@"age is %i".27);
3、OC程序开发过程
a.编写.m程序代码;
b.编译.o目标文件;
c.链接a.out可执行文件。
4、OC程序
主函数:main
预处理指令:import
作用:1.跟include一样,拷贝文件的内容,2.防止文件内容被重复拷贝
NSLog
特点:自动换行、添加时间戳、日期戳、文件来源等信息
头文件:
#import <Foundation/NSObjCRuntime.h>
包含NSLog的函数声明,但太麻烦,不要用
#import <Foundation/Foundation.h>
属于Foundation框架的函数就都用这个
主头文件
框架里最主要的头文件都跟框架名一样
当要使用框架中的多个头文件时只需要import主头文件即可
NSLog与printf的区别
NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
NSLog输出后会自动换行,printf输出后不会自动换行
使用NSLog需要#import <Foundation/Foundation.h>
使用printf需要#include <stdio.h>
终端指令
编译cc –c main.m
链接cc main.o –framework Foundation(用到Foundation框架或者NSLog函数时)
运行./a.out
Foundation框架的作用
开发OC、iOS、Mac程序必备的框架
此框架中包含了很多常用的API(应用编程接口)
框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
5、BOOL型变量
BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL) 1
#define NO (BOOL) 0
BOOL类型的本质:本质是char类型
typedef signed char BOOL;
BOOL的输出(当做整数来用)
NSLog(@"%d %d", YES, NO);