黑马程序员——OC基础---简单的OC程序

原创 2015年07月10日 11:09:05

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

OC简介

C语言的基础上增加了一层最小的面向对象语法

完全兼容C语言

可以在OC代码中混入C语言代码甚至是C++代码

可以使用OC开发Mac OS X平台和iOS平台的应用程序



OC语法预览

关键字

基本上所有关键字都是以@开头

下面列举一些常见的关键字

@interface@implementation@end 

@public@protected@private@selector 

@try@catch@throw@finally  

@protocol@optional@required@class

@property@synthesize@dynamic

selfsuperid_cmd__block__strong__weak


字符串以@开头

比如@"Hello"OC中的字符串"Hello"则是C语言中的字符串


OC程序的开发过程

C语言类似:


示例:


1OC程序

代码编写

C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。比如这里写到一个main.m文件中(文件名可以是中文)

#include <stdio.h>

// OC程序的入口:main函数
int main()
{
    printf("第1个OC程序\n");
    return 0;
}

运行结果:




2OC程序

代码编写

来点跟C语言不一样的,使用NSLog函数输出内容

<pre name="code" class="plain">#import <Foundation/Foundation.h>

int main()
{
    // NSLog输出内容会自动换行
    NSLog(@"第2个OC程序!!!");
    
    return 0;
}



运行结果:

NSLogprintf的区别

NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数

NSLog输出后会自动换行,printf输出后不会自动换行

使用NSLog需要#import<Foundation/Foundation.h>

使用printf需要#include<stdio.h>

#import的作用

#include一样,用来拷贝某个文件的内容

可以自动防止文件内容被拷贝多次,也就以为着头文件中不用加入下面的预处理指令了

#ifndef _STDIO_H_

#define _STDIO_H_

#endif

Foundation框架的作用

开发OCiOSMac程序必备的框架

此框架中包含了很多常用的API(应用编程接口)

框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可

#import <Foundation/Foundation.h>

BOOL的使用

BOOL类型的本质

typedef signed char BOOL;

BOOL类型的变量有2种取值:YESNO

#define YES (BOOL)1

#define NO  (BOOL)0

BOOL的输出(当做整数来用)

NSLog(@"%d %d",YES, NO);

示例:

3OC程序

多个.m文件的开发

C语言中多个.c文件的开发是一样的

编写3个文件

#import "two.h"

int main()
{
    test();
    return 0;
}

void test();

#import <Foundation/Foundation.h>

void test()
{
    NSLog(@"调用了test函数");
}

运行结果:



示例:


.m文件和.c文件混用开发

编写3个文件

main.m


#import "two.h"

int main()
{
    test();
    return 0;
}

#include <stdio.h>

void test()
{
    printf("调用了test函数\n");
}

void test();

运行结果:




BOOL的使用

BOOL类型的本质

typedef signed char BOOL;

BOOL类型的变量有2种取值:YES、NO

#define YES ( BOOL)1

#define NO (BOOL)0

BOOL的输出(当做整数来用)

NSLog(@"%d %d", YES, NO);


示例:

#import <Foundation/Foundation.h>


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(@"%d", test(YES));
    return 0;
}

运行结果:


OC语法基础简单代码练习Demo

没有接触过OC,所以今天就来学习下简单的东西.把一些简单的代码记录下来.由于没有MAC机所以只要在线练习www.FenBy.com #import #include int main(int argc...
  • yirancpp
  • yirancpp
  • 2016年01月29日 15:40
  • 693

黑马程序员——OC视频学习过程6

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  视频16: 1、为什么要引入import import引入的头文件,...
  • woxingwosu77
  • woxingwosu77
  • 2015年08月20日 15:00
  • 254

黑马程序员——OC篇(一)编写简单的OC类并创建对象

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 今天开始总结OC的相关知识,预计分四篇总...
  • kikifirst1
  • kikifirst1
  • 2014年04月16日 07:32
  • 1054

OC基础-零基础学习Objective-C:第一部分.类和对象

本人也是Objective-C的小白,以下只是记录我学习过程的历程,如有不对的地方或者疑问欢迎指正。 原发表在新浪微博上,现转移到这里 必备工具: 1.一本书,建议《Objective-C基础教程...
  • l522402543
  • l522402543
  • 2015年08月28日 21:45
  • 991

OC----Masonry 自动布局

Masonry 中的坑 1. 在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。 2. 在添加约束时初学者经常会出现一些错误,约束出现问题的原因一般就是两种...
  • damys
  • damys
  • 2017年01月10日 10:27
  • 459

iOS开发之OC最常见面试题总结

1.简述OC中内存管理机制 OC的内存管理机制是自动引用技术,内存管理的原则是谁开辟谁释放,分为ARC和MRC,MRC的话就是需要我们程序员手动管理内存,ARC不需要我们手动管理内存,系统会自行管理...
  • Star__shine
  • Star__shine
  • 2016年04月20日 20:12
  • 7535

NSTimer 计时器 OC

注意:定时器的调用,放在主线程中最优! 在gcd dispatch_async中执行可能会无效!调用一次计时器方法:myTimer = [NSTimer scheduledTimerWithTimeI...
  • Ashimar_a
  • Ashimar_a
  • 2016年11月15日 00:17
  • 477

OC基础学习重要小知识点总结

1、首先,什么是Objective-C?   Objective-C是一门基于C语言的面向对象语言,C语言的基础上,增加了一层最小的面向对象语法,完全兼容c语言,它在现代计算机的主要作用于Mac ...
  • wutengwei007
  • wutengwei007
  • 2015年02月05日 03:37
  • 1100

OC基础知识汇总

OC部分 第一部分   基本概念  OC概述 OC是一种能够完成复杂面向对象编程的简单的计算机设计语言。 通过提供用于定义类和方法的语法,它扩展了标准的c语言。它还提供了类和接...
  • u014165686
  • u014165686
  • 2014年08月11日 20:06
  • 1302

OC中使用UI自定义控件实现计算器的设计(版本1简单的加减乘除,连加,连减,连除,连乘)

OC中使用UI自定义控件实现计算器的设计(版本1简单的加减乘除,连加,连减,连除,连乘)...
  • u012701023
  • u012701023
  • 2015年07月30日 10:09
  • 1491
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——OC基础---简单的OC程序
举报原因:
原因补充:

(最多只允许输入30个字)