1. Objective-C简介
80年代出现 , C + Smalltalk == OC
OC ==> Objective-C 2.0
NeXT : Unix + UI ==> Mac OS ==> iOS
库和工具 ==> Cocoa
iOS开发库和工具 ==> Cocoa Touch
2. 编译器
gcc: GNU C Compile
LLVM : Apple LLVM Compile 4.1
clang : 命令行编译器
3.各种源程序文件的后缀名(扩展名)
.c C语言源程序文件
.cpp .ccC++语言
.m Objective-C
.mm Objective-C++
.h 头文件
.sh Shell脚本
--------------------------------------------
.a Unix/Linux 静态库文件
.so Unix/Linux 共享库(动态库)文件
.o object文件,编译生成的二进制文件
4.第一个 OC程序
#import <Foundation/Foundation.h> //#include
Foundation框架(framework 库)
NSLog : 日志输出函数
5.布尔值
C: 用int来当布尔类型使用
0代表逻辑假,非0代表逻辑真。
bool
OC:
BOOL YES, NO
YES是1, NO是0,对BOOL变量尽量不要赋其他的值,最好只给YES/NO.
6. 面向对象编程
6.1 基本概念
用解决现实中问题的办法来解决计算机问题。
6.2 对象 (Object)
Anything is Object
现实中是客观上的存在。程序中其实是由类创建出来的一片内存空间。
对象的特征:
能干什么 方法
有什么 属性
6.3 类
类型,是一种对客观事物的抽象,是一种主观上的认识。
程序中的类是对现实中的对象的一种抽象。是程序员定义的一种数据类型(自定义类型), 是产生对象的模型。
类==>产生对象
类中有什么:
属性的定义 : 用变量来表示,叫实例变量
方法的定义 : 用函数来表示,叫消息
6.4 定义类
@interface 类名
{
//属性的定义
变量类型 变量名;//实例变量
}
//方法的声明
-(返回值类型) 方法名 : 参数1 : 参数2;
@end
@implementation 类名
//方法的定义
-(返回值类型) 方法名 : 参数1 : 参数2
{
//做事的代码
}
@end
7.创建对象
7.1 OC中对象只能被创建在堆中。
7.2 NSObject类中,有创建对象的方法。
只有通过继承,才可以获取NSObject中的创建对象的方法。
@interface MyFirstClass : NSObject
@end
7.3 之后,只要给类发消息alloc,就可以创建出对象来。
发送消息的方式如下:
[类 消息]; ==>[MyFirstClass alloc];
7.4 给对象发消息
[对象 消息]; ==>[first show: 100];
-开头的方法是实例方法,只响应对象的消息
+开头的方法是类方法,响应给类发的消息
7.5 实例变量
即不是全局变量,也不是局部变量。
每个实例(对象)都有一份,在类中相当于全局,任何位置(所有的实例方法)都可以访问。
类方法中不可以访问实例变量
8. 多文件编程
一个类两个文件,一个头文件xxxx.h,头文件中保存类的interface部分。另一个是实现文件xxxx.m.实现文件中保存implementation部分,当然得#import "xxxx.h".
如果在程序的某个地方,要使用一个类,就需要该文件#import类的头文件。
附:
class method : 类方法
instance method : 实例方法
instance variable : 实例变量
相关推荐
- 它是 C 语言的超集,意味着所有合法的 C 代码都是 Objective-C 的一部分,同时增加了面向对象编程的特性,如类别(categories)、协议(protocols)和动态类型等。 - Objective-C 的核心是消息传递机制,类似于 ...
第一天:Objective-C简介 Objective-C起源于C语言,它在C的基础上添加了面向对象的特性。Objective-C的关键组成部分包括消息传递机制、类和对象、协议以及类别。首先,你需要了解Objective-C的语法基础,如如何定义...
这样不仅可以避免麻烦,而且万一有一天 gcc 移除了它,将有足够的 Objective-C 程序员来坚持保留它或者重新加入它。苹果在其官方代码中也使用了 `#import`。如果真的发生了移除的情况,可以预计苹果将会提供一个支持...
- **TempConverter & Obj-C Tool**:这是第一个项目的一部分,旨在帮助学生熟悉工具并开始学习语言。 - **Favorite Things**:该项目让学生有机会实践所学的知识。 - **Timeline**:整个课程分为四周的四个阶段性...
- **学习目标**:理解Objective-C的基本语法结构,掌握面向对象编程的核心概念。 - **学习内容**: - 基本框架:`#import`, `@interface`, `@implementation`, `@class` - 方法的命名规则 - 关键字的理解与使用:...
学员将从零开始学习如何在Mac平台上进行iOS应用开发,逐步掌握Objective-C语言、Cocoa框架、以及各种UI控件的使用方法。此外,还包含了网络编程、多媒体处理、游戏开发等高级主题。整个课程体系旨在培养具备全面iOS...
在第一天,你可能会接触到基础的语法和环境设置,比如如何创建一个新的Xcode项目,以及如何编写第一个“Hello, World!”程序。 随着课程的深入,你会学习到iOS SDK中的关键组件,如UIKit框架,它包含了构建用户界面...
该书的第一部分涵盖了从第一天到第二十天的学习内容,提供了丰富的源码实例,帮助读者深入理解Objective-C编程语言以及苹果的iOS SDK。 在这30天的学习过程中,你将逐步接触并掌握以下关键知识点: 1. **Objective...
在iOS开发中,Objective-C是一种常用...开发者需要理解地理坐标、时区以及天文算法的原理,并能够熟练使用Objective-C的相关框架和类。这个功能的实现对于提升用户体验,特别是与户外活动相关的应用,具有很高的价值。
通过以上内容的梳理,我们可以看出这门课程不仅教授学生如何使用Cocoa框架和Objective-C语言来开发Mac OS X应用程序,更重要的是通过实践项目让学生深入了解面向对象设计的原则,并掌握软件工程中的最佳实践。...
- **Objective-C**:作为一种面向对象的语言,Objective-C是C语言的扩展,它引入了类、消息传递等概念。虽然Swift逐渐成为主流,但Objective-C仍然是许多现有项目的首选语言。 - **Swift**:Swift是由Apple开发的一...
在WeatherTest中,接收到的JSON数据需要被解析为Objective-C的对象,这通常通过NSJSONSerialization类完成。开发者会定义相应的模型类,将JSON数据映射到这些类的实例中,以便于进一步处理和展示。 UI展示部分,...
在30天的学习计划中,第一天可能从安装Xcode(苹果的官方开发工具)和基本的环境配置开始。随后几天,会逐步讲解Objective-C或Swift的基础语法,包括变量、函数、类和对象。随着课程深入,你将接触界面构建,如使用...
- 本章节向读者介绍Swift编程语言的基础内容,如简单值、控制流、函数和闭包、对象和类以及枚举和结构体等概念。 这份文件不仅提供了Swift编程语言的技术性描述,还揭示了其背后的社区和协作精神,以及中文翻译...
iOS提供了一套强大的日历框架,包括NSCalendar、NSDateComponents等类,用于处理日期和时间。开发者可能利用这些类来获取当前日期、计算日期间隔、提取星期、月份等信息。 4. **法定节假日API集成**: 提到应用...
1. **Objective-C语言**:iPhone SDK 2.0主要基于Objective-C语言,这是一种面向对象的编程语言,它是C语言的超集,增加了消息传递机制和类别等特性,用于构建iOS应用程序。 2. **Xcode IDE**:开发iPhone应用程序...
Objective-C是一种面向对象的编程语言,它是C语言的超集,增加了Smalltalk风格的消息传递机制和类定义等面向对象特性。在开发"一天・One Day"这样的应用程序时,开发者可能利用了Objective-C的强类型、动态绑定以及...