您的位置:首页 > 移动开发 > Objective-C

OC基础 — 2

2018-01-17 17:39 98 查看
   - NSString

    (1)C语言中的字符串不是对象

        char *name1 =“xy”;

        char name2[] =“xxy”;

        OC中的字符串是一个对象

        正是因为OC中的字符串是一个对象,所以它就具备了很多功能

        NSString *str =@"lk";

        //注意:输出C语言的字符串使用%s

        //输出OC的字符串使用%@, 
%@就专门用于输出对象类型的

        Iphone *p = [Iphonenew];

        NSLog(@"content = %s", [p loadMessage]);

        NSLog(@"content = %@",
[ploadMessage]);

    (2)计算字符串的长度

        C语言中:

        // 包含\0

        size_t size =sizeof(name);

        printf("size = %lu\n",
size);    

        // 不包含\0

        size_t length =strlen(name);

        printf("length = %lu\n",
length);

        OC中:

        NSString *str =@“Ring”;

        NSUInteger len = [strlength];

        NSLog(@"len = %lu",
len);

    - 结构体作为对象的属性

        typedefstruct {

            int year;

            int month;

            int day;

        } Date;

        @interface Student :NSObject

        {

            @public

            NSString *_name;

            Date _birthday;

        }

        @end

    (1)结构体只能在定义的时候初始化

        系统并不清楚它是数组还是结构体  
 

    (2)初始化结构体属性

        方法一:强制转换

        stu->_birthday = (Date){1986,1, 15};

    

        方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday

        Date d = {1986,1, 15};

        stu->_birthday = d;

    

        方法三:分别赋值

        stu->_birthday.year =1986;

        stu->_birthday.month =1;

        stu->_birthday.day =15;

    - #pragma mark

   (1)#pragma mark不属于Objective-C,而是Xcode的工具

   (2)pragma mark实质上是让Xcode在其Function
Menu内打上一些记号,Function Menu列出程式档内的class、function、method,这是Xcode让使用者可以快速查看一个程式档案裡所有class、method、function的工具,pragma
mark则是在Function Menu内作记号(mark),帮助阅读程式

    - 匿名对象

   (1)匿名就是没有名字,匿名对象就是没有名字的对象 

   (2)有名字的对象

       只要用一个指针保存了某个对象的地址,我们就可以称这个指针为某个对象

       //p为Person对象

       Person *p =[Personnew];

   (3)没有名字的对象

       无论有没有名字,只要调用new方法都会返回对象的地址

       每次new都会新开辟一块存储空间

       [Personnew]->_age =30;
 

   (4)匿名对象的应用场景

       1 当对象只需要使用一次的时候就可以使用匿名对象  
 

       2 匿名对象可以作为方法的参数(实参)

    - 修改项目模版

   (1)修改项目模板以及main函数中的内容

       /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/ 

   (2)修改OC文件头部的描述信息

     /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Class.xctemplate

   (3)Xcode文档安装的位置:

     1 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets

     注意:拷贝之前最好将默认的文档删除,因为如果同时存在高版本和低版本的文档,那么低版本的不会显示

     2 /Users/你的用户名/Library/Developer/Shared/Documentation/DocSets

     注意:如果没有该文件夹可以自己创建一个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC Objective-C