黑马程序员_iOS开发之OC基本语法
来源:互联网 发布:如何查询mac地址 编辑:程序博客网 时间:2024/06/08 09:49
一、OC简介
二、OC语法
三、OC基本使用
/*
主头文件:最主要的头文件
#import的用途:
1.跟#include一样,拷贝文件的内容到当前位置
2.可以自动防止文件的内容被重复拷贝
3.Foundation框架头文件的路径
1> 右击Xcode.app --> 显示包内容
2> Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework
4.主头文件
1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
2> Foundation框架的主头文件名称就是Foundation.h
3> 只需要包含Foundation框架主头文件,就可以使用整个框架的东西
5.运行过程
1> 编写OC源文件:.m、.c
2> 编译:cc -c xxx.m xxx.c
3> 链接:cc xxx.o xxx.o -framework Foundation
(只有用到了Foundation框架才需要加上-framework Foundation)
4> 运行:./a.out
*/
//NSObjCRuntime.h中有NSLog函数的声明
//关于NSLog函数的头文件声明不知,可以直接编译看系统提示
//Foundation是框架,就是把这个框架下的NSObjCRuntime.h文件拷贝进来
//#import <Foundation/NSObjCRuntime.h>
//只需要包含Foundation框架主头文件,就可以使用整个框架的东西
#import <Foundation/Foundation.h>
int main()
{
// NSLog输出内容会自动换行
//编译命令 cc -c **.m
//链接命令 cc **.o,这时链接时报错,提示NSLog函数没有定义,因为链接时只是把C函数库的东西搞进来,OC没用
//链接改进cc **.o -framework Foundation
//所以OC程序用到Foundation框架时,链接时要主动告诉编译器要包含的内容
NSLog(@"第二个OC程序!!!");
//printf("");此函数在链接时,就会把库函数链接成功
return 0;
}
四、多个OC程序执行和C程序互调
/*****************************
one.m
*****************************/
#import "two.h"
int main()
{
test();
return 0;
}
/************************************
two.m
************************************/
#import <Foundation/Foundation.h>
void test()
{
NSLog(@"调用了test函数");
}
/*******************************
two.h
********************************/
//不用使用条件编译命令,防止重复头文件多次拷贝编译
//#import比#include优越点是可自动防止
void test();
********************************************************************/************************************
one.m
************************************/
#import"two.h"
int main()
{
//OC程序中调用C程序是可以的,同样C程序中调用OC程序也可以
test();
return 0;
}
/************************************
two.c
************************************/
#include<stdio.h>
void test()
{
printf("调用了test函数\n");
}
/**********************************
two.h
**********************************/
void test();
五、BOOL类型
#import <Foundation/Foundation.h>
/*
1、BOOL类型的本质
typedef signed char BOOL; //BOOL其实是字符型
2、BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1
#define NO (BOOL)0
3、BOOL的输出(当做整数来用)
NSLog(@"%d %d", YES, NO);
*/
BOOL test(BOOL mybool)
{
return NO;
}
int main()
{
BOOL b = YES;
BOOL b2 = NO;
BOOL b3 = 1;// YES
BOOL b4 = 0;// NO
//NSLog(@"%i", b);
NSLog(@"%i", test(YES));
return 0;
}
- 黑马程序员_iOS开发之OC基本语法
- 黑马程序员_iOS开发C语言基础基本语法易错点
- 黑马程序员_iOS开发之OC之内存管理
- 黑马程序员_iOS开发之OC之面向对象之思想、类和对象
- 黑马程序员_iOS开发之OC之面向对象之id语法、构造方法、@category分类、类本质、description方法和SEL数据类型
- 黑马程序员_iOS开发之Foundation框架
- 黑马程序员_iOS开发之OC之block块与@protocol协议
- 黑马程序员_iOS开发之OC之面向对象之多文件操作、点语法、成员变量的作用域和关键字@property与@synthesize
- 黑马程序员:OC基本语法
- 黑马程序员-OC基本语法
- 黑马程序员--OC基本语法
- 黑马程序员_iOS开发之OC之面向对象之三大特性封装、继承和多态
- 黑马程序员_iOS 的高级控件之UITableView基本应用
- 黑马程序员_iOS开发C语言基础之函数
- 黑马程序员_iOS开发C语言基础之数组
- 黑马程序员_iOS开发C语言基础之字符串
- 黑马程序员_iOS开发C语言基础之指针
- 黑马程序员_iOS开发C语言基础之结构体
- asp.net 未能写入输出文件--“拒绝访问的解决办法
- .net随手记----导航条随下拉框一直置顶
- OCP原则
- 昨桩鬃砖组转拽专谞捉拙纂浊追砖住综滓
- 自动跳转代码与自动弹出网页代码
- 黑马程序员_iOS开发之OC基本语法
- Ipython Notebook安装教程
- C++中的namespace
- Android详细的对话框AlertDialog.Builder使用方法
- 精选37条强大的常用linux shell命令组合
- 菜鸟式学习directx
- HDoj-2524 - 矩形A+B
- DEDECMS附件按月保存,修改DEDE附件不按天保存
- Android学习之 换肤功能模块的实现<三>