zoukankan      html  css  js  c++  java
  • OC类中一些细节问题(对象类存储、类中结构体的用法)

    一:OC中得方法名

    注意:方法名冒号和后面的and方法名冒号  都是方法名
     

    一:对象的存储细节

        类加载到代码区(包括类中得属性和方法)、对象动态加载到堆内存中、指向对象的指针存放在栈区。

    三:定义类常见的错误

    定义类的时候,常见的错误

     1)类的定义不能嵌套

     2)不要漏写 @end

     3) 不要忘记写实现类(如果忘记写了,编译不会报错,运行时候才报错)

     4)定义成员变量的大括号经常漏写

     5) 如果不写@interface 只有 @implementation 这可以,但是会报警告,建议不要这么写

     6)把方法的声明写到了声明成员变量的括号中了

    四:类中结构体的问题:

    #import <Foundation/Foundation.h>

    typedef struct {

        int year;

        int month;

        int day;

    }MyDate;

    //类的声明

    @interface Student : NSObject

    {

        @public

        NSString *_name;

        MyDate _birthday;  //MyDate是一个结构体

    }

    @end

    //类的实现

    @implementation Student

    @end

    int main(int argc, const char * argv[])

    {        

            //实例化对象 stu

            Student *stu = [Student new];

            //赋值

            stu->_name = @"雷阵子";

    //        stu->_birthday = {1999,11,11}  这种写法不行,_birthday在对象创建的时候,已经被初始化为0,不能在整体初始化了

    //        stu->_birthday.year = 1999;

    //        stu->_birthday.month = 11;

    //        stu->_birthday.day = 11;        

            //d1是一个结构体变量

            MyDate d1={1988,11,11};

            //把d1的值拷贝一份给_birthday

            stu->_birthday = d1; // 值传递

    比如:/*

    MyDate date = {1990,3,9};

            date = {1999,9,9};  // 会报错,就是结构体初始化后不能在定义

    */

    五:NSString

     NSString 的用法

         NSString 是OC的一个字符串类

     1)NSString 存放OC的字符串

        NSString *str = @"l love china!";

     2)既然是类,我们就可以实例化一个对象

        NSString *s = [NSString new];

                      1)分配空间  2)初始化   3)返回地址

        s = @"I love itcast";

     3)格式化字符串   

        NSLog(@"%d,%f",a,b);

        NSString *s2=[NSString stringWithFormat:@"xxxxx_%02d.jpg",i];

            str = @"你好中国china!";

            //计算字符串的长度的一个方法

            //OC的字符串长度计算方法

            //1、[str length],没有包含 ,就是实际的字符的个数

            //2、把中文的一个汉字和普通的字母都当做1个字符

            NSLog(@"str len = %lu",[str length]);        

            //c语言中的字符长度

            //1、普通字符占1个字节

            char *sss="China!";

            //2、一个汉字占3个字节(UTF-8编码),一个字符还是占用1个

            sss = "中国china!";

  • 相关阅读:
    【流量劫持】SSLStrip 终极版 —— location 瞒天过海
    【流量劫持】沉默中的狂怒 —— Cookie 大喷发
    【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
    Web 前端攻防(2014版)
    流量劫持 —— 浮层登录框的隐患
    流量劫持能有多大危害?
    流量劫持是如何产生的?
    XSS 前端防火墙 —— 整装待发
    XSS 前端防火墙 —— 天衣无缝的防护
    XSS 前端防火墙 —— 无懈可击的钩子
  • 原文地址:https://www.cnblogs.com/-boy/p/4065783.html
Copyright © 2011-2022 走看看