美文网首页
01---Objective-C简介

01---Objective-C简介

作者: Happy晓哥 | 来源:发表于2016-10-18 00:30 被阅读19次
    1. Objective-C是基于C语言的.
      a. 在C语言的基础之上新增了面向对象的语法.
      b. 将C语言中复杂的、繁琐的语法封装的更为简单.

    2. Objective-C程序的源文件的后缀名.m
      message消息机制.
      C程序的源文件的后缀名是.c

    3. main函数仍然是Objective-C程序的入口和出口.
      main函数的参数可以有 也可以没有.
      参数的功能: 在终端单独运行程序的时候 可以让用户直接传入一些数据进来.
      返回值: 代表程序结束的状态. 0代表正常结束. 非0代表非正常结束

    4.#import指令

    1). 是以#开头,所以它是1个预处理指令.
        在预编译的时候执行.
    
    2). #import指令是#include指令的增强版.
    
    
    3). 作用: 将指定的文件的内容拷贝到写指令的地方.
    
    
    4). 增强: 
        使用#import指令包含文件的时候,无论这个文件被#import多少次.
        这个文件最终只会被包含1次.
        #include指令.要想实现这个效果,就必须要配合条件编译指令才可以.
    
    5). 用法
        <>
        ""
    

    5.框架
    是苹果或者第三方事先将程序员在开发过程中经常要用到的功能写好.
    表现成1个1个的类或者函数.
    这些类型和函数的集合我们叫做框架.
    有点像C语言的函数库.
    Foundation: 基础 提供了OC中最基础的语法支持. 最基本的功能 输入 输出.数据类型.
    AVFoundation: Audio Video
    UIKit: 做界面的
    CroeLocation: 定位
    ....

    Founation框架: 基础基本的意思.
    提供了OC中最基础的语法支持  
    最基本的功能 输入 输出.数据类型.
    
    如果想要在OC中使用某个框架中的功能,你就得先将这个框架的头文件引进来.
    

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/Foundation.h

    Foundation框架中有很多很多的头文件.
    Foundation.h这个头文件中 包含了Foundation框架中的所有的头文件.
    所以,我们只要包含Foundation.h这个头文件,就相当于包含了Foundation框架中的所有的头文件.
    所以,我们只要包含Foundation.h这个头文件,我们就可以使用Foundation框架中的所有的功能.
    
    1. 自动释放池.
      @autoreleasepool
      干啥的? 你不需要了解.
      你可以将其删除. 或者把代码写在这个池中.
    1. NSLog()函数.
      1). 这是Foundation框架中提供的一个函数.

      2). 作用: 是printf函数的增强版.
      向控制台输出信息的.

      3). 语法格式:

      NSLog(@"格式控制字符串",变量列表);
      
      最简单的用法.
      NSLog(@"输出信息");
      

      4). 增强的地方.

      a. 输出的信息.不仅仅是指定的信息,还有别的信息.
         2020-03-14 10:06:43.218 Day01-OC基础语法[723:578343] 大家好,才是真的好!
         这句话的输出的时间.
         程序的名称.
         程序的进程ID PID  Process ID. 1个正在运行的程序就是1个进程.
         线程ID.
         空格之后,才是真正的输出内容.
          
      b. 输出完信息以后,会自动换行.
      
      
      c. printf函数可以做的事情,它绝对可以做.
        
         仍然可以使用printf函数的占位符来输出变量的值. 
         使用方法是一模一样的.
          
         还可以输出OC中新增的数据类型的变量的值.
      

      5). 注意的地方

       a. NSLog函数的第1个参数是1个字符串,这个字符串的前面一定要加1个@前缀.
      
       b. 如果你手贱,在后面加了1个'\n'换行符,那么这个时候.自动换行就会失效.
      

      6). NSLog()函数就是来替换printf函数的.
      从今天开始.就不要再去使用printf了,而是使用NSLog函数.

    1. OC中的字符串

      1). C语言的字符串的存储方式.

      a. 使用字符数组.
      b. 使用字符指针来存储.
      

      2). OC专门设计了1个类型来保存字符串数据.

      NSString
      
      使用NSString的指针变量就可以来保存OC的字符串.
      
      专门用来存储OC字符串的地址的.
      

      3). OC的字符串常量.

      a. OC中的字符串常量必须要使用@符号作为这个字符串的前缀.
      
          @"jack" OC中的字符串常量
          "jack"  C语言中的字符串常量.
      
      b. NSString指针只能保存OC字符串常量的地址.
      
         NSString *str = @"jack"; 这样是可以的.
         NSString *str = "rose"; 这样是不行的. "rose"是1个C字符串.   
                                 str指针是1个NSString指针. 只能保存OC字符串.
      
      c. 你必须要区分C串和OC串.
      
          "hack"  C串
          @"rose" OC串
      

      4). 总结1下子.

       在OC语言中,专门设计了1个类型叫做NSString来保存字符串.
       但是只能保存OC字符串.
       字符串常量加1个@前缀.这样的字符串我们才叫做OC字符串.
      
       NSString *str = @"jack";
       内部的原理.不需要了解 .你只需要用就可以了.
      

      5). 注意.

       1). NSLog函数的第1个参数是1个NSStirng类型的.所以.我们在给的时候,前面要加1个@符号才是NSString
      
       2). 如果要使用NSLog函数输出NSString字符串,那么就使用格式控制符 %@
      
    2. NS前缀

      NextStep --> cocoa --> NS

    1. @符号
    1). 将C字符串转换为OC字符串
    
        @"jack"
    
    
    2). OC在C的基础之上,新增了一些关键字.新增的这些关键字大部分都是以@符号开头.
    
        @interface
        @implementation 
        @public
        ......
    
    1. 注释.

      单行注释
      多行注释.
      vvdocumenter

    1. OC中也可以定义函数.并且定义的方式一模一样.

    相关文章

      网友评论

          本文标题:01---Objective-C简介

          本文链接:https://www.haomeiwen.com/subject/szvzyttx.html