iOS复习笔记2:Objective-C语法基础

一 语法基础

1 关键字

关键字基本上都是以@开头,常见关键字如下:

@interface,@implement,@end,@public,@private,@selector,@required,@encode等

其他id,self,super等

2 字符串以@开头

@"Hello world!"

3 布尔类型Yes/No

4 空类型nil(值为0)

5 其他C语言语法

二 OC的HelloWorld程序

// helloworld.m
#import <Foundation/NSObjCRuntime.h>
#include <stdio.h> 

int main()
{
    printf("OC完全兼容C\n");
    NSLog(@"Hello World");// 自动换行
    return 0;
}

Mac中cc是使用的clang编译。

编译:

cc -c helloworld.m

将在当前文件夹下面生成一个hellowold.o

链接:

cc hellowork.o -framework Foundataion

将在当前文件夹下面生成一个a.out

运行:

./a.out

将在屏幕上打印:

OC完全兼容C

2015-01-28 19:10:49.451 a.out[503:507] HelloWorld

三 多文件

// main.m

#import "helloworld.h"

int main()
{
    show();
    return 0;
}
#import <Foundation/NSObjCRuntime.h>
#include <stdio.h>

// helloworld.h

void show()
{
    printf("OC完全兼容C\n");
    NSLog(@"HelloWorld");
}

编译生成.o文件:

cc -c main.m

链接生成a.out

cc main.o

运行方式和结果同上。

时间: 2025-01-04 05:44:25

iOS复习笔记2:Objective-C语法基础的相关文章

IOS开发复习笔记(1)-OC基础知识

在上班之余学习IOS已经有三个多月了,因为基础有些薄弱从OC的基本语法开始学习的,相继看了青柚子和红柚子的书,现在在看编程实战,趁这个机会好好的总结一下: 1.命名约定 对象类型和名称一致,以免混淆 -(void) setURL:(NSString *)URL;//错误的命名方法 //更改为 -(void)setURLString:(NSString *)string; -(void)setURL:(NSURL *)URL; 静态变量(包括作用域)以s开头,而全集变量采用g开头,在通常情况下应避

iOS复习笔记1:HelloWorld项目

2012年10月到2013年5月期间,一直都做iOS开发,后来开始做用cocos做游戏开发. 过去了那么久,复习一下以前学的东西. 一 新建工程 打开Xcode,选择File>Project>Single View Application,然后输入工程名HelloWolrd,选择保存路径. 创建完成之后保存,如图: 二 运行 单击上图左上角的三角形按钮,程序久可是运行了,以下界面一闪而过: 然后出现: 这就是用模拟器运行程序啦:如果闲模拟器太大,看不清楚,可以点击模拟器,然后Window>

iOS复习笔记3:类的基本定义

// Car.h // 类的声明 // 类名:Car // 属性:m_nSpeed // 行为:run #import <Foundation/Foundation.h> // NSObject @interface Car : NSObject { // 属性:成员变量(可以是基础类型,枚举,结构体和类对象指针) @public int m_nSpeed;// 默认初始化为0 } // 行为:方法(方法名,返回值,参数) - (void)stop; - (void)run:(int)spee

iOS复习笔记14:常用数据结构之类

一 NSString/NSMutableString字符串 1 NSString <pre name="code" class="objc">NSString* s1 = @"string"; //NSString* s2 = [[NSString alloc] initWithFormat(@"%d is one",1)]; NSString* s2 = [NSString stringWithFormat(@&

iOS复习笔记9:ARC功能

一 ARC简介 ARC是编辑器的一种功能. 它会把alloc出来的对象,自动release. 它把使用retain属性的变量,在dealloc中自动生成release: 在新建项目时选中ARC功能后,不允许调用: retain retainCount release autorelease [super dealloc] 二 ARC的判断准则 1 准则:只要没有强指针对象,就会销毁对象 2 指针分两种: 1 强指针: __strong,默认情况下所有的指针都是强指针 2 弱指针: __weak,

iOS复习笔记8:autorelease详解

一 概念 iOS在程序在运行的过程中,会创建很多个释放池,自动释放池以栈的形式存放的(先进后出). 对象调用autorelease时,会被放入栈顶的自动释放池中. 当自动释放池销毁时,会对池的所有对象发送一次release消息: 所以发送autorelease之后引用计数不会立即-1. autorelease返回对象本身. 二 实例 // Person.h @interface Person @property(nonatomic, assign) int age; @end // Person

IOS学习笔记3—Objective C—简单的内存管理

今天简述一下简单的内存管理,在IOS5.0以后Apple增加了ARC机制(Automatic Reference Counting),给开发人员带来了不少的方便,但是为了能更好的理解IOS内存管理机制,还是需要对其比较了解. 1.在OC中,每个对象都有一个保留计数,创建时每个对象都有一个初始值为1的保留计数,释放时,保留计数都为0 2.创建自动释放的对象 要求以一个方法创建对象时,以自动释放的形式返回该对象是一个很好的编程实践 +(Car *)car { Car *myCar = [[Car a

iOS复习笔记4:内存管理

一 基础原理 1 为什么需要内存管理 因为移动设备内存有限,每个app所占用的空间有限. 当app占用内存空间过多时,系统会发出内存警告,这是回收一些不在使用的内存. 例如:不再使用的类对象和实例. 2 管理对象 任何继承自NSObject类的对象 3 内存区域 堆:主动分配空间,需要管理 栈:局部变量,自动管理 例如: int a = 1; Person* p = [[Person alloc] init]; a,p都放在栈区 Person分配的空间在堆区 二 引用计数 1 定义 每个OC对象

iOS复习笔记6:property详解

@property type xxx 可以自动生成一个type _xxx;成员变量: 同时还生成对应的setter和getter方法. 可以通过以下四种类型的参数,控制生成getter和setter方法. 1 set方法内存管理参数 1.1 assign: 默认值,直接赋值,使用于基础数据类型 1.2 retain: release旧值,retain新值,再赋值 1.3 copy  : release旧值,copy新值 2 是否要生成setter方法的参数 2.1 readwrite: 默认值,