1.C语言面向过程,OC面向对象

2.第一个OC程序

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...NSLog(@"Hello, World!");}return 0;
}

1)import引入头文件可以防止重复包含

2)Foundation/Foundation.h文件包含了很多头文件,引入这个等于把OC的库文件都引过来了

3)@autoreleasepool

4)NSLog与printf比较

NSLog自动换行,printf不会

NSLog会输出时间等项目信息,printf不会输出调试信息

NSLog函数的参数是一个NSString对象,printf是一个字符串常量指针

NSLog打印字符串用%@,NSString *Str1=@"ancc";NSLog(@"%@",str1);printf用%s

3.@""代表字符串

4.文档注释

/**

*

**/

5.增强型for循环

6.类的定义

//
//  main.m
//  OC1
//
//  Created by fanyafang on 15/10/30.
//  Copyright © 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>#pragma mark Person类
@interface Person : NSObject
{@publicint _age;NSString *_name;
}-(void)getAge;@end@implementation Person-(void)getAge{NSLog(@"dddd");}
@end#pragma mark int main(int argc, const char * argv[]) {@autoreleasepool {        Person *p=[Person new];p->_age=10;NSLog(@"%d",p->_age);

      [p getAge];

    }return 0;
}

7.内存的理解

代码区:存放类定义,加载一次

堆区:存放实例变量,保存了代码区类的地址

栈区:存放对象

8.NSString的用法:

1)创建字符串的方法

NSString *asstring=@"This is a String!";

NSString *s=[NSString new];

NSString *imgName=[NSString stringWithFormat:@"xxxxxxxx%02d.jpg",i];//格式化创建字符串

NSString *s2=[[NSString alloc] initwithString:s1];//用一个已经存在的字符串创建一个新的字符串

2)输出一个字符串

NSLog(@"%@",asstring);

3)字符串长度计算方法

C语言中用strlen函数

OC中用NSUInterger len=[s1 length];//NSUInterger无符号长整型

1个汉字按1个长度计算

9.OC的多文件开发

头文件和类实现文件分开编写,用import包含

10.类方法的学习

11.匿名类

使用匿名类调用类方法:[[Car new] stop];

[Car new]等价于[[Car alloc]init]

匿名类的优点:可以简化代码,方便方法的调用;缺点:匿名对象实例化后只能正确的使用成员变量一次。

12.get-set方法的编写

13.对象之间的关系:

组合(葡萄) 依赖(一个对象的方法参数是另一个对象) 关联(拥有,一个类的成员是另一个类的对象)

13.OC中没有重载,类的方法不能同名

14.static的用法

1)在方法中延长变量的生命周期

2).h中定义的实例变量不能定义为static

3)不能用static修饰方法

4)在实现类中定义全局static变量,只在当前文件中有效

5)在接口类中定义全局static变量,只在当前文件中有效

15.self的使用

1)对象方法中,调用另一个对象方法

2)在类方法中,调用另一个类方法

3)修饰变量-在set方法中,形参与实例变量名称相等,用self取实例变量

转载于:https://www.cnblogs.com/fanglove/p/4922882.html

Objective-C基础相关推荐

  1. Objective - C基础: 第一天 - 1. 第1, 2个OC程序

    前言 前面我们已经讲完了C语言的基础,  终于进入到Objevtive - C啦, 这里我们简称为OC, OC是什么? 简单来讲, 它是一门基于C语言演变而来的一门面向对象的语言, 在C语言上添加了属 ...

  2. Objective C 基础教程

    复合 使用复合可组合多个对象,使之人工协作. 会同时使用继和复合来创建自己的类. 编程中的复合就好像音乐中的作曲一样:将多个组件组合在一起配合使用. 在Objective-C中,复合是通过包含作为实例 ...

  3. Objective - C基础: 第一天 - 5.对象和类

    前面我们讲完了面向对象的思想, 那么现在我们来讲讲什么是对象, 什么是类. 比如: 一家工厂要生产一台轿车, 首先得有一台轿车的设计图, 然后根据这个设计图, 可以做出很多轿车, 然后轿车里面有一些不 ...

  4. Objective C基础教程——Xcode工程创建

    Objective-C只不过是拥有一些附加特性的C语言.本文将构建第一个Objective-C程序,同时介绍一些关键的附加特性. ##2.1 最简单的Objective-C程序 我们来写一个最简单的H ...

  5. IOS学习笔记——Objective-c基础(一)

    2019独角兽企业重金招聘Python工程师标准>>> 最近自学ios,ios的支持语言是Objective-c,所以要学习ios就需要先学习Objective-c语言.当掌握了Ob ...

  6. Objective C编程基础视频课程-关东升-专题视频课程

    Objective C编程基础视频课程-8104人已学习 课程介绍         本课程包括Objective C数据表达式,数据类型,运算符,控制语句,面向对象开发语言特性,Objective C ...

  7. Objective-c——UI基础开发第十二天(相册展示)

    一.知识点 模仿新特性 UICollectionViewFlowLayout自定义布局 相册 瀑布流(淘宝购物之类的 二.复习 a.UICollectionView 和 tableview共享一套AP ...

  8. 「建模调参」之零基础入门数据挖掘

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

  9. IOS学习之路--OC的基础知识

    1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...

  10. iOS9基础知识(OC)笔记

    1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  so ...

最新文章

  1. Spring中@Value用法收集
  2. 安装阴阳师出现错误“选择的驱动器或UNC共享不存在或不能访问“怎么解决?
  3. neo4j设置节点或者边的显示,包括颜色、属性、大小
  4. Fcrackzip——简介、安装、使用
  5. 美国明确警告德国,3G退网5G手机不需要换号,抽烟酗酒学生不能认定为家庭经济困难,大学食堂凭运动步数打折,这就是今天的大新闻。...
  6. php 拼接wav,将两个Wav文件合并为一个 | 学步园
  7. 实现灵活的IT架构的三个要点
  8. [ES6] 细化ES6之 -- 对象的扩展
  9. DbEntry 开发实践:Wiki 系统(四)
  10. java改变this指向_[Java教程]JavaScript中的this指向
  11. Emmagee性能测试简单的使用
  12. Android小知识- LayoutInflater
  13. 蓝桥杯每日一练----字符串逆序
  14. linux 的压缩文件格式,常见压缩文件的格式及linux中打包或解压的方法
  15. django 标签verbatim的使用 200312
  16. 使用微PE安装U盘windows系统
  17. Oracle Database-基础及查询部分
  18. Codeforces 897D. Ithea Plays With Chtholly (交互)
  19. 微型计算机在情报检索中的应用属于什么领域,第1章-单选题
  20. cocosLua 之cocosStudio动画

热门文章

  1. [LeetCode]:116:Populating Next Right Pointers in Each Node
  2. vbs学习笔记2——创建桌面快捷方式
  3. 修改placeorder html,数字分发Web服务DDWSPlaceOrder-服务手册-Partner.PDF
  4. 女生做产品经理好吗_产品经理如何做产品架构设计
  5. python解不定积分_python快速求解不定积分和定积分
  6. verilog实现汉明权重_(学习Verilog)6. FIR IP核的基础功能使用总结
  7. html5与其他语言的优势,浅谈:html5和html的区别
  8. 3-16Pytorch与随机抽样
  9. html获取随机字母,JavaScript实现4位随机验证码的生成
  10. 4 初学入门_2020年最新版,如何挑选入门级,进阶级和专业级网球拍(12月更新)...