zoukankan      html  css  js  c++  java
  • ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点。建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来。这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写、改写代码。在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路。

    一定要明确一个要从事的方向,要不然就会感到迷茫。学习ios开发,并且从事ios开发这个行业,这就是我的选择。看到我的博客系列文章,其中大多是关于C++、Qt、Linux网络编程、OpenGL、Unity3D等方面。从表面上看和ios开发似乎没有多少关联,但是有了这些方面的学习经验给我带了一定的基础。ios开发主要用oc和swift语言,而oc是从事ios开发的基础。众所周知,oc(objective-c)即面向对象的C,在C语言的基础上增加了面向对象的机制和内存管理这一对翅膀,使得OC在做ios开发如虎添翼。

    本系列文章仅供个人学习和分享给志同道合的猿友,不存在商业用途。

    下面看一段oc的小程序:

    //Person.h--头文件
    #import<Foundation/Foundation.h>
    @interface Person:NSObject{//成员变量需定义在该中括号内
    @private//成员变量的访问权限
        int _age;
        NSString *_name;
    }//与C/C++不同,这里不需要加";"
    
    //方法的声明----"-"表示实例方法即类实例化之后才能使用的方法,"+"表示类方法相当于C++中的静态方法
    -(void) setAge:(int)age;
    -(int)getAge;
    -(void) setName:(NSString *)name;
    -(NSString *)getName;
    @end
    
    //Person.m--源文件实现申明的方法
    @implementation Person
    -(void) setAge (int)age{
        _age = age;
    }
    
    -(int)getAge{
        return _age;
    }
    
    -(void) setName:(NSString *)name{
        _name=name;
    }
    -(NSString *)getName{
        return _name;
    }
    @end
    
    
    //main.m
    int main()//主函数,程序的入口
    {
        @autoreleasepool{
            Person *person = [[Person alloc] init];//分配内存并进行初始化
            [person setAge:20];//函数的调用,相当于person->age = 200;
            [person setName:@"小红"];
        }
        return 0;
    }    

    程序中定义了一个Person类,通过注释,相信有C和C++基础的同志都能大致了解这段代码。

    关于Person对象的内存分布,如下图所示:

  • 相关阅读:
    xrange和range区别
    bool([x]) 将x转换为Boolean类型
    bin(x) 将整数x转换为二进制字符串
    chr(i) 返回整数i对应的ASCII字符
    音乐欣赏
    迅雷下载百度云引发的“事故”
    swift获取图片路径出错
    记号笔写在白板上引起的尴尬而又无奈的事件
    swift 3新特性总结
    watch
  • 原文地址:https://www.cnblogs.com/tgycoder/p/5567023.html
Copyright © 2011-2022 走看看