Foundation框架头文件的路径

1> 右击Xcode.app --> 显示包内容
 2> Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework
 
(系统)主头文件
 1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
 2> Foundation框架的主头文件名称就是Foundation.h
 3> 只需要包含Foundation框架主头文件,就可以使用整个框架的东西

其他系统头文件类似

 
1、基本上所有OC关键字都是以@开头(部分不以@开头)
@interface、@implementation、@end 
@public、@protected、@private、@selector
@try、@catch、@throw、@finally 
@protocol、@optional、@required、@class
@property、@synthesize、@dynamic
例外:
self、super、id、_cmd(当前方法)、__block、__strong、__weak、
 
2、字符串以@开头(与"之间不要有空格)
例:
@“Hello"是OC的字符串,而”Hello”是C语言的字符串
 
3、其他语法
基本数据类型:char int float double BOOL(YES\NO)
nil 相当于C语言中的NULL,也就是0.
基本语句 循环语句(do while、while、for)
               条件语句(if、if-else、switch)
 
注释        //和/*...................*/
屏幕输出 NSLog(@"Hello");NSLog(@"age is %i",27)

1、代码编写:
#import <Foundation/Foundation.h>
int main()
{
     // NSLog输出内容会自动换行
    NSLog(@"第二个OC程序");//@“无空格
    return 0;
}
2、终端指令:
  • 编译 cc -c main.m
  • 链接cc main.o -framework Foundation
  • 运行./a.out
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
 
3、NSLog与printf的区别
  • NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
  • NSLog输出后会自动换行,printf输出后不会自动换行
  • 使用NSLog需要#import <Foundation/Foundation.h>
  • 使用printf需要#include <stdio.h>
4、#import的作用
  • 跟#include一样,会拷贝某个文件的内容
  • 可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预指令。
  • #ifndef    _STDIO_H_
  • #define    _STDIO_H_
  • #endif
5、Foundation框架的作用
  • 开发OC、iOS、Mac程序必备的框架
  • 此框架中包含了很多常用的API(应用编程接口)
  • 框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
  • #import <Foundation/Foundation.h>
6、BOOL的使用
     BOOL类型的本质
typedef signed char BOOL;(本质是char类型)
BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1
#define NO  (BOOL)0
Ø   BOOL的输出(当做整数来用)
NSLog(@"%d %i", YES, NO);
 
 

简单OC程序的更多相关文章

  1. 简单的OC程序

    知识点 1.#import的用途: 1> 跟#include一样,拷贝文件的内容 2> 可以自动防止文件的内容被重复拷贝 2.#import <Foundation/NSObjCRu ...

  2. 第一个OC类、解析第一个OC程序

    01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...

  3. 手动创建第一个OC程序

    手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下 #include<stdio.h> ...

  4. _ZNote_Objective-C_用终端编译OC程序

    某些情况下,仅仅想写一些简单的代码,可以不用Xcode,仅仅使用终端即可编译OC程序. 打开终端. 输入vi test.m 输入一下代码: #import <Foundation/Foundat ...

  5. 第一个OC程序

    第一个OC程序源码如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @auto ...

  6. 【Objective-C】03-第一个OC程序

    一.打开Xcode,新建Xcode项目 二.选择最简单的命令行项目 因为我们只是学习OC语法,还未正式进入iOS开发,所以选择命令行项目即可 三.输入项目名称,选择Foundation框架进行创建项目 ...

  7. [OC笔记]我的第一个OC程序

    这是我第一个OC程序,详情都写在了注释里面,讲的是Student和Book这两个类的创建和使用.(是不是觉得student这个类在各种语言入门代码里经常出现呢?真实有爱) 看完这些,你会发现,咱们其实 ...

  8. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  9. IOS开发——01_第一个OC程序

    本文目录 一.新建Xcode项目 二.运行项目 注:建议先学习C语言, 如果你还没有编程经验,看不懂的地方可以在评论区提出,本文使用的为Xcode6.1版本,与之前版本会有所差异,但总体不变. 另:还 ...

随机推荐

  1. UITextField总结--博主总结的真好

    忍不住copy过来http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393985.html 还有些不错的博客推荐给大家http://blog.c ...

  2. asp.net内置对象session和cookie

    1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况 ...

  3. JAVA之Exchanger

    如果两个线程在运行过程中需要交换彼此的信息,比如一个数据或者使用的空间,就需要用到Exchanger这个类,Exchanger为线程交换信息提供了非常方便的途径,它可以作为两个线程交换对象的同步点,只 ...

  4. “_In_opt_z_”: 未声明的标识符

    问题 使用VS2010 + WDK 环境进行驱动开发时,编译阶段出现如下等错误提示 “_In_opt_z_”: 未声明的标识符 解决办法 将..\Microsoft Visual Studio 10. ...

  5. ANDROID SHAPE画圆形背景_ANDROID实现角标布局

    ANDROID SHAPE画圆形背景_ANDROID实现角标布局 <?xml version="1.0" encoding="UTF-8"?> &l ...

  6. java把函数作为参数传递

    public class Tool { public void a()// /方法a { System.out.print("tool.a()..."); } public voi ...

  7. 一个Windows C++的线程类实现

    Thread.h [cpp] view plaincopy #ifndef __THREAD_H__ #define __THREAD_H__ #include <string> #inc ...

  8. javascript编辑器预览模式解密

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 汉诺塔III 汉诺塔IV 汉诺塔V (规律)

    汉诺塔III Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  10. c++ 回调类成员函数实现

    实现类成员函数的回调,并非静态函数:区分之 #ifndef __CALLBACK_PROXY_H_ #define __CALLBACK_PROXY_H_ template <typename ...