zoukankan      html  css  js  c++  java
  • OC 入门

    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具有自动换行功能,末尾加 无效。
    @"" 是一个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.返回一个指向该对象的指针

  • 相关阅读:
    python学习笔记(十五)-- flask接口开发
    python学习笔记(十四)-- requests接口调用
    python学习笔记(十三)-- 日志、发送邮件、redis数据库
    python学习笔记(十二)-- if __name__ == '__main__'
    python学习笔记(十一)-- md5加密
    python之操作excel:xlrd、xlwt、xlutiles、枚举函数enumerate()
    python:加密模块
    模块操作
    python基础:函数传参、全局变量、局部变量、内置函数、匿名函数、递归、os模块、time模块、解包
    【2019.6.2】python:json操作、函数、集合、random()、列表生成式、三元表达式
  • 原文地址:https://www.cnblogs.com/xubaoaichiyu/p/5478305.html
Copyright © 2011-2022 走看看