OC 入门


关键词正确写法:

  • Xcode 错误的写法: xcode
  • iPhone 错误的写法:IPhone
  • iOS 错误的写法:IOS
  • OC 全称: Objective-C 错误的写法:Object-c

文件后缀:

  • .h 头文件
  • .c C语言
  • .m C语言,OC语言
  • .cpp C++
  • .mm C++,OC语言

<#import关键字>

#import 和 #include 的异同

相同点:
  • <都是预编译指令
  • <将其他文件导入到#import该行的功能
  • <#include<> #import<> 都是导入系统文件
  • <#include"" #import"" 都是导入用户自定义的文件
不同点:
  • <#import是#include的升级版,具有防止相同文件多次导入的功能以后我们是导入的指令符用#import

Foundation框架介绍:

Foundation框架,OC中最重要的一个框架,Foundation命名空间以NS开头

框架:封装了一些常用的类,函数,方法,结构体,变量等等。

自动释放池:

@autoreleasepool。自动释放池,帮助程序员管理内存空间,代码写下括号之内。

iOS4.0之前的写法 NSAutoreleasepool * pool = [NSAutoreleasepool new]; [pool drain];

NSLog的用法:

NSLog是Foundation框架提供的日志输出函数,可以输出日期,时间,对应的应用程序。
NSLog具有自动换行功能,末尾加\n无效。
@"" 是一个NSString对象的字面量变现。
字面量:@(),@[],@{}

printf的占位符在我们NSLog中一样使用
%i 修饰整形
%g 修饰浮点型,末尾0省略
%@ 修饰对象

面向对象编程:

面向过程:程序员相当于一个执行者,C语言。
面向对象:程序员相当于一个指挥者,OC,Java,C++。

打开电脑
打开浏览器
听歌

电脑 - 打开电脑
电脑 - 打开浏览器
播放器 - 听歌

类和对象:

对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型,其定义为:
它们的关系是,对象是类的实例,类是对象的模板。

类:图纸 对象:车

C语言用结构体封装数据的。
OC用的是类。属性就是成员变量,行为就是方法。

类:描述事物的名称,属性和行为。

名称:老师
属性:男,人
行为:讲课

名称:老师
行为:指导

名称:学生
行为:做题

Student
属性:姓名,学号
行为:学习,翘课

OC中是如何实现一个类的

声明 和 实现。

类的声明:以@interface开头以@end

类的实现:以@implementation开头以@end

NSObject基类

NSObject的作用使我们的Person具有创建对象的能力

在大括号里声明成员变量

常见错误:

unrecognized selector sent to instance 对象没有实现该方法

成员变量命名规范

成员变量以下划线开头,驼峰命名

成员方法:

无参数:方法类型符 (返回值类型) 方法名,被(-)修饰的方法,只能被对象调用

:的作用:

:是方法名的一部分
一个:对应一个形参
:前面的文字是描述参数的

描述参数可以省略,但是坚决不建议省略

不同类定义相同方法,是互不影响的。

举例:[Person new]对应哪些操作

1.为Person这个对象在堆内存中分配空间,malloc
2.初始化成员变量
3.返回一个指向该对象的指针

OC 入门的更多相关文章

  1. Swift 从OC入门

    前言:断断续续学了蛮多天的Swift,感触还是蛮多的~~ 1.OC是以C语言为基础的语言,学习之前有C语言的基础,所以对于 `*` 这些指针还是比较容易理解的.问过其他程序员,对OC里面的 `*` 指 ...

  2. OC入门笔记

    1OC概述OC主要负责UI界面:C语言和C++可以用于图形处理.OC是一门面向对象的语言.C语言是面向过程的.比C++简单很多以C语言为基础,完全兼容C语言.OC语言中的所有事物都是对象,都有isa指 ...

  3. ios入门OC_UI晋级学什么?

    1. OC 语法初步, 你可能学到面向对象最近本的概念, 并且可以大致的建立几个自以为是的类,但这仅仅是开始. 你知道为什么面向对象要有3大特性么.知道他们是用到什么设计模式的么 2. 你可能学到了N ...

  4. Object C学习初步

    最近乘着项目不太紧张的时候,赶紧给自己冲了一下电.其实我自己最熟悉的平台应该是.net,所以当初上手windows phone的话是很快,我记得当初是一边跟着项目进展,一边自己开始学习前台的XAML语 ...

  5. Objective-C 学习 (一):Objective-C 概述

    1. OC在C的基础上新增了一些面向对象的语法,将C的复杂的.繁琐的语法封装的更为简单.且OC完全兼容C语言. 2. OC程序的源文件的后缀名是.m, m 代表message,代表OC中最重要的一个机 ...

  6. 一.OC基础之:1,OC语言的前世今生 ,2,OC语言入门,3,OC语言与C的差异,4,面向对象,5,类和对象的抽象关系,6,类的代码创建,7,类的成员组成及访问

    1,OC语言的前世今生 , 一, 在20世纪80年代早期,布莱德.麦克(Brad Cox)设计了OC语言,它在C语言的基础上增加了一层,这意味着对C进行了扩展,从而创造出一门新的程序设计语言,支持对象 ...

  7. Swift语法基础入门一(适合有C, OC开发人员)

    Swift开发体验 /*: 创建对象 * OC: alloc initWithXXX 方法 * Swift: (xxx:) */ /*: 调用方法 * OC: [UIColor redColor]; ...

  8. 【IOS】IOS高速入门之OC语法

    Objective-C 是 C 语言的超集 您还能够訪问标准 C 库例程,比如在stdlib.h和stdio.h中声明的那些例程. Objective-C 还是一种很动态的程序设计语言,并且这样的动态 ...

  9. 学习WCF入门的第一个实例

    一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...

随机推荐

  1. Android流量控制——列表页面

    1.最简单的模式: 设计: 1.将页码值传给服务器,让服务器返回对应的页码数据 2.数据缓存:只缓存第一页数据. 好处: 1.实现简单.无脑 坏处: 1.浪费流量,如果用户一直在等某个人发送消息的话. ...

  2. Autofac - 服务

    上一篇中, 留了一个小问题,在一个接口下面, 注册多个类, 并能正常获取. 之前的方式是不能做到的, 在服务中, 有一种实现方式是可以的. 一.服务 1. 类型 - 描述服务的基本方法 上一篇其实使用 ...

  3. 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别

    瀑布式开发.迭代开发,区别[都属于,生命周期模型]         两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说.         传统的瀑布式开发,也就是从需求到 ...

  4. DataTable转换为List<T>或者DataRow转换为T

    这段时间开发ASP.NETMVC应用程序,从数据库获取数据之后,需要把记录转换为数据集在视图中显示.我们需要把DataTable转换为List<T>或者DataRow转换为T. 本篇中可以 ...

  5. 基于C#的MongoDB数据库开发应用(2)--MongoDB数据库的C#开发

    在上篇博客<基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用>里面,我总结了MongoDB数据库的一些基础信息,并在最后面部分简单介绍了数据库C#驱动的 ...

  6. 提升VMware虚拟机性能招数

    在VMware虚拟机(VMware Workstation或VMware Server)中我们可以同时运行多个Guest OS,当同时在同一Host OS中运行多台虚拟机时势必会严重影响到Host O ...

  7. oracle11g的standby性能分析报告statpack安装

    一般常见的分析standby database的性能问题的方法就是通过动态性能视图来判断,从11g开始,随着Active Data Guard功能的出现,早期的Statspack 工具可以在stand ...

  8. 速战速决 (2) - PHP: 数据类型 bool, int, float, string, object, array

    [源码下载] 速战速决 (2) - PHP: 数据类型 bool, int, float, string, object, array 作者:webabcd 介绍速战速决 之 PHP 数据类型 boo ...

  9. 孙鑫MFC学习笔记13:文档

    1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...

  10. Hack语言特性之类型化

    Hack最基础的特性就是类型标注.PHP5已经开始支持对象的类型化,PHP7也提供了标量类型化声明.Hack提供了全面的类型标注支持,与其typecher配合使用,还可以实现快速.前置静态类型验证. ...