黑马程序员——ios基础---Objective-C:基础语法
来源:互联网 发布:桌面美女跳舞软件 编辑:程序博客网 时间:2024/05/19 12:15
一、OC概述:
1、Objective-C 继承自C和smalltalk 最小程度增加了面向对象的部分,是一门面向对象编程语言。
2、OC HelloWorld OC的文件有哪几种?
.h 头文件(声明类)
.m OC源文件(类的实现)
main函数是OC得主入口函数
1)NSLog的使用
3、import和include的区别
include 和 import 都是引入头文件
import引入的头文件,可以防止重复包含
include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题
4、NSLog和printf使用的差异
1、NSLog 会自动换行 而printf不会自动换行
2、NSLog 会自动输出时间等项目信息,printf不会输出调试信息
3、NSLog 函数的参数是一个NSString 对象,printf是一个字符串常量指针
5、@符号的使用
1)@"" 表示OC中的字符串
2)@特殊单词 OC的关键字
3)NS 前缀的说明
6、OC对比C快速入门
1) 源文件的差异
2)数据类型
block 块
id
BOOL YES/NO
SEL 选择器
Boolean 布尔类型 true/false
3)关键字和标示符
带@的和一些需要记得类似于id指针。
4)语句结构(分支和循环)
oc 增强型for循环 forin(快速枚举)
5)逻辑类型
BOOL / Boolean
二、类、对象、方法
1、面向对象编程
面向对象是面向过程而言
面向对象是基于面向过程
面向对象和面向过程,都是种编程思想
2、面向过程
强调的是功能行为
关注的是解决问题需要哪些步骤
3、面向对象
将功能封装进对象,强调具备了功能的对象
关注的是解决问题需要哪些对象
面向对象是基于面向过程的。
4、类和对象
类:一类事物的特征的抽象
对象:满足类的特征的一个个体
一个类可以创建多个对象
5、对象的存储细节
[Car new];
1) 申请存储空间
2) 给类的成员变量初始化(基本数据类型 0 ,字符串NSString null)
3) 返回申请的内存空间的首地址(8个字节)
6、对象方法和函数之间的区别
对
1)所有的函数都是平行的
2)函数不存在隶属关系
3)使用的时候可以直接调用
4)不可以访问对象中的成员变量
5)对象方法有归属,方法是属于某一个对象
6)每个对象只能调用自己对象方法
7)只要先声明函数,我可以在任何函数中调用其他函数
7、对象和方法之间的关系
(1) 对象作为方法的参数
Person *p = [Person new];
Person *p1 = [Person new];
-(void)test:(Person *) person;
[p test:p1];//p1-----> person
(2) 对象作为方法的返回值
-(Person *)test1
{
Person *p3 = [Person new];
p3->_name = @"Cgx";
return p3;
}
Person *p4 = [p test1];
8、对象作为方法的参数,连续传递
1) 枪作为方法的参数
-(void)fireByGun:(Gun*) gun;
-(void)fireByGun:(Gun*) gun {
[gun shoot];
}
2) 增加了子弹的类
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet;
-(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet
{
[gun shoot:bullet];
}
-(void)shoot:(Bullet *)bullet;
-(void)shoot:(Bullet *)bullet
{
bullet->_bulletCount --;
}
9、NSString的使用
1)OC中又专门的字符串处理的类(有字符串类型) NSString 不可变的字符串
2)NSMutableString 可变字符串
3)NSString 是OC字符串的类
4)格式化字符串(拼接)
stringWithFormat 字符串连接
NSString *str1="itcast";
NSString *str2 = [NSString stringWithForamt:@"welcome to %@",str1];
5)计算NSString的字符串的长度
NSString *str5 = @"abc"; // 3
NSString *str6 = @"传智播客xy"; //6
10、多文件开发 :提高代码的可读性
C的模块化开发: 把功能相似的函数,写到同一个文件中
.h 函数声明
.c 函数的实现
OC 模块化开发: 把功能不同的类放到不同的文件中
.h 类的声明
.m 类的实现 (方法的实现)
- 黑马程序员——ios基础---Objective-C:基础语法
- 黑马程序员—Objective-C基础_基本语法
- 黑马程序员——IOS基础---Objective-C第二段视频学习---面向对象---基本语法
- 黑马程序员——IOS学习之二:Objective-C基础语法和关键字——黑马 ios 技术博客
- 黑马程序员----objective-C 基础语法篇
- 黑马程序员——ios基础---Objective-C:Foundation
- 黑马程序员--iOS--Objective-C基础 (一)
- 黑马程序员-iOS基础-Objective-C基础(四)OC开发技巧及核心语法(上)
- 黑马程序员-iOS基础-Objective-C基础(五)核心语法(下)
- 黑马程序员 -- IOS C语言 基础语法
- 黑马程序员-iOS基础-Objective-C基础(一)
- 黑马程序员-iOS基础-Objective-C基础(一)
- 黑马程序员-iOS基础-Objective-C基础(二)
- 黑马程序员-iOS基础-Objective-C基础(三)
- 黑马程序员-iOS基础-Objective-C基础(四)
- 黑马程序员-iOS基础-Objective-C基础(五)
- 黑马程序员-iOS基础-Objective-C基础(六)
- 黑马程序员-iOS基础-Objective-C基础(七)
- 承兑贴息
- Leetcode: Count Complete Tree Nodes
- 线性时间Huffman算法 SDUT 1987
- 关于根据陀螺仪获取加速度和重力感应,计算用户行走的步数算法
- 设计模式-开篇:软件的可维护性和可复用性
- 黑马程序员——ios基础---Objective-C:基础语法
- iOS开发-CoreMotion框架(加速计和陀螺仪)
- hive学习笔记-高级查询
- 关于实体为Date类型的字段,如何用model.find(" date>? ",param)方法进行查询?
- hdu 4007 平行矩形包含点数
- 杭电3665Seaside
- 二阶有源低通滤波电路的设计与分析
- Unity换装之合并网格
- hdu5418--Victor and World(floyd+状压dp)