zoukankan      html  css  js  c++  java
  • [Objective-c 基础

    Obj-C中没有包得概念,使用前缀进行区分

    自带类用NS开头命名
    关键字使用@开头
     
    A. 第一个OC程序
    1. 导入Foundation框架的主头文件
    #import <Foundation/Foundation.h>
    自动过滤重复引入的文件
     
    2. 源代码和头文件
    (1) .h : 类的声明文件
    (2) .m : 类的实现文件

    3.使用终端编译链接OC程序
    例如:编译链接 02OC.m
     cc 02OC.m -framework Foundation
    系统默认带的是C函数库,必须加上 framework 参数,引入Foundation框架
     

    B.OC和C的差异
    1.BOOL类型
    BOOL只有YES 和 NO 两个值,实际是 1 和 0
     
    2.面向对象
    (1)面向过程:关心步骤
    (2)面向对象:只关心结果
     
     
    C. OC中的类
    1.在同一个.m文件中入门体验:
    #import <Foundation/Foundation.h>

    //类的声明
    @interface Car : NSObject
    {
        //@public 可以让外部指针访问内部的成员变量
        @public
        int wheels;
        int speed;
    }

    //OC方法中任何数据类型都必须用()括起来
    - (void) run;

    @end

    //类的实现
    复制代码
     1 @implementation Car
     2 - (void) run
     3 {
     4     NSLog(@"车子跑起来");
     5 }
     6 
     7 @end
     8 
     9 int main()
    10 {
    11     Car *c = [Car new];//创建对象,分配内存空间
    12     c->wheels = 4;
    13     c->speed = 250;
    14     NSLog(@"车子有%i个轮子,时速是%i", c->wheels, c->speed);
    15     [c run];
    16    
    17     return 0;
    18 }
    复制代码
    2.常见错误
    (1)声明中不能赋初值,不能使用static等C语言中得修饰符
    (2)不能嵌套声明、定义
    (3)方法和函数要分辨开,C语言中的是函数,类中的是方法,方法也不能使用static等修饰符
    (4)使用类之前,要先声明,类似于函数
     
     
    ps:继承NSOject 让类具有实现对象的功能
     
    在声明中定义的方法全是公共方法
    数据类型都要小括号括起来 
     
    1.声明:
    复制代码
    1 @interface Student : NSObject
    2 {
    3     int age;
    4 }
    5 //'-' is used to define dynamic method, '+' is used to define static method
    6 - (int) getAge;
    7 - (void) setAge:(int)age;
    8 @end
    复制代码
     
    2.定义
    类的实现使用关键字@implementation, @end
    xx.m
    复制代码
     1 #import "Student.h"
     2 
     3 @implementation Student
     4 - (int) getAge
     5 {
     6     return age;
     7 }
     8 - (void) setAge:(int)newAge
     9 {
    10     age = newAge;
    11 }
    12 @end
    复制代码
    3.创建对象
    所有OC对象都是指针
    (1)分配空间
            //allocate the memory by static method, accept the obj by pointer
            Student *stu = [Student alloc];
    ps:OC中只能用指针间接操作对象
    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    js技巧大全
    DOM
    网页页面跳转几种方法
    JavaScript中创建对象的几种方式
    web本地存储-UserData
    图片预加载
    闭包
    JavaScript高级编程学习笔记(第三章之一)
    .net core 部署到ubuntu
    fiddler autoresponder 动态修改响应内容
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4501361.html
Copyright © 2011-2022 走看看