zoukankan      html  css  js  c++  java
  • Objective-C 入门学习

    关于OC的一段入门小代码:

    -----------------------------------

    #import <Foundation/Foundation.h>

    //声明Car类,并继承NSObject

    @interface Car : NSObject
    {
    NSString * name;
    double price;
    int speed;
    }

    -(void) setSpeed : (int) tempSpeed

    -(void) showPrice()
    @end

    //Car类的方法实现

    @implementation Car

    -(void) setSpeed : (int) t_speed
    {
    speed = t_speed;
    }

    -(void) showPrice
    {
    NSLog(@"The Price is %f",price)
    }
    @end

    //Car类的使用
    Car *mycar = [Car new];
    [mycar showPrice];
    [mycar setSpeed:70];

    ---------------------------------

    其中Car *mycar = [Car new]; 等同于 Car *mycar = new Car();

    其中@interface...@end 和@implements...@end 是关于类的声明相关的定义。注意配套使用的。

    注意:

    "-"号,这个代表的是对象实例的方法,也就是必须是new出来的对象,才有资格使用这个方法。

    "+"号,代表的是类方法,不需要创建实例就可以调用的方法,类似于类的静态方法。

    OC的文件组织结构是:

    头文件(.h) + 实现文件(.m) 

    组织结构像这样(图片摘自网上:):

    在OC中BOOL型的定义是这样的:

    BOOL flag = NO;

    BOOL的定义可以是YES和NO两种。

    判断可以这样:

    if(flag == YES)

    {}

    或者这样:

    if(flag)

    {}

     其实BOOL的真实内涵在程序内部的定义是这样的:

    所以至于它的特性内涵、你懂得。

    >>>对于一个方法的定义:

    -(返回类型) 方法名:(参数类型)参数名   (  例子:-(int) getKey:(int) tempKey  )

    >>>多参数传递的方法定义:

    -(返回类型) 方法名:(参数类型)参数名 方法名:(参数类型)参数名  

    (  例子:-(void) setKey:(int) tempKey  setValue:(int) tempValue )

    调用形式:

    [myClass setKey:12 setValue:734]

    >>>如何新建对象实例:

    Car *mycar = [[Car alloc] init]; (推荐)

    Car *mycar = [Car new];

    使用alloc来分配内存,并使用init来初始化,会将这块内存全部清0,bool型为NO,int型为0,指针为nil

  • 相关阅读:
    浅谈树的重心
    倍增的奇妙用处
    KMP——从入门到不会打题
    万能的进制哈希
    浅谈扫描线算法的应用
    无需Flash录视频——HTML5中级进阶
    一个模仿微信群聊的H5页面
    关于建议
    前端技术学习线路
    Kurento安装与入门02——运行示例前的准备
  • 原文地址:https://www.cnblogs.com/vokie/p/3621173.html
Copyright © 2011-2022 走看看