zoukankan      html  css  js  c++  java
  • object c 基础语法

    http://blog.csdn.net/lutaotony/article/details/6863986  Object-c学习笔记

    1.NSLog:控制台输出,用法和 printf 基本一样。NS’ 前缀表示这个函数来自于NEXTSTEPCocoa框架。

     NSLog (“base 8: %o
    ”, num); 

    2.数组初始化

    int a[] = { [9] = x + 1, [2] = 3 };//10 个元素的数组,给a[9]和a[2]赋值
    复制代码
    //创建一个不可变的数组  
    NSArray *array= [NSArray arrayWithObjects:@"雨松", @"MOMO",@"哇咔咔",myClass,nil];
    //得到数组的长度
    int count = [array count];
    //遍历这个数组
    for (int i = 0; i < count; i++) {
    NSLog(@"普通的遍历:i = %d 时的数组对象为: %@",i,[array objectAtIndex: i]);
    }
    复制代码


    http://www.cocoachina.com/newbie/tutorial/2010/1009/2151.html  一些 NSArray 的基本操作代码例子

    3.结构体初始化

    struct point 
    {
    float x;
    float y;
    } start = {100.0, 200.0};
    struct point end = { .y = 500, .x = 200 }; //按名称赋值

    4. 关键字volatile、restrict:

    优化编译,用处不大

    C语言的5种存储类以及关键字volatile、restrict http://www.diybl.com/course/3_program/c++/cppjs/20090508/166822.html

    5.#import

    用于导入,保证头文件只包含一次,#include 也可以

     

    6.字符串:

      Object-C的字符串与C的字符串不同,是用Unicode编码来代替了ASCII编码。由于Object-C完全兼容C,为了区分,字符串前面用@

           如:NSString *name = @"Chase";

      NSString同样是不可修改的,每一次改动都会重新生成一个新的对象,如果想要修改则要是用NSMutableString,它是NSString的子类。

    创建:

    NSString *str=[NSString stringWithFormat: @"hahhahaha"];



    7.

      类的声明:声明开始使用@interface,结束定义使用@end;而不是使用class

    复制代码
    @interface Shape : NSObject//继承NSObject类
    {
    @private
    int var;
    @public
    int color;
    }
    -(void) setColor : (int ) color;//减号“-”声明的方法为:实体方法(instance method)
    +(void)showMe;//加号“+” 声明的方法:类方法(class method);相当于java中的静态函数
    @end
    复制代码

      类的实现:使用命令:@implementation,结束@end

    复制代码
    @implementation Shape
    -(void) setColor : (int ) color
    {
    //code
    }
    +(void)showMe
    {
    //code
    }
    @end
    复制代码

     

      类的实例化:

    MyClass *mc =[[MyClass alloc]init];

    alloc 是固定格式,是为对象申请内存空间,  init则完成对象的初始化工作

     


    http://blog.sina.com.cn/s/blog_7a2ffd5c0100ttep.html    
    快速了解Object-C语言(1)

    http://blog.csdn.net/xiaominghimi/article/details/6577412  [Object-C语言随笔之三] 类的创建和实例化以及函数的添加和调用!


    8. 方法/函数

    方法定义:

     

    -(int) getX;//无传入参数的方法
    -(void) setX:(int) x;//有一个参数的方法

    Object-c的一个方法可以包含多个参数,除了第一个参数外,后面的所有参数都要写名字,这一点和其他的语言有很大的不同。

    -(void) setXY:(int) x andSetXY:(int) y;//多个参数的方法


    方法调用:

    创建类实例

    MyClass *mc =[[MyClass alloc]init];
    int x = [mc getX];//无传入参数的方法调用

     

    [mc setX:8];//有一个参数的方法调用

     

    [mc setXY:9 andSetXY:22];//有多个参数的方法调用,每个参数前面都有一个名字。蛋疼,菊紧

     

    9.for循环

    除了基本的for(;;)循环外还有一种枚举遍历,和python差不多。

    NSArray *marray =[[NSArray alloc] initWithObjects:@"aaa",@"bbb", nil];
    for (NSString *str in marray)
    {
    NSLog(@" %@",str);
    }



  • 相关阅读:
    leetcode之Unique Binary Search Trees
    c++ 非常量引用产生临时对象
    redis的启动脚本
    leetcode 之 Insertion Sort List
    leetcode 之 Product of Array Except Self
    一致性hash的由来和原理
    我的vim 配置
    【原创】html页面清除浮动的几种方法
    实现本页面跳转的几种方式
    php输出语句用法总结
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/3592176.html
Copyright © 2011-2022 走看看