zoukankan      html  css  js  c++  java
  • 黑马程序员--Objective-C之--OC的初步体验

    ------IOS培训期待与您交流! -------

    一、OC简介

     (一)、Objective-C与C的渊源

    Objective-C诞生于 20 世纪 80 年代,由Brad Cox 发明,意在将流行的、可移植的 C 语言与优雅的 Smalltalk 语言结合在一起。

    Objective-C 是 C 语言的一个扩展集,它以 C 语言为基础,在语言中添加了一些微妙但意义重大的特性。

    苹果公司的 iphone 平台采用 Objective-C 做为 native language 的开发,Objective-C的内核是C语言的,并基于C语言实现OOP的一些特性。

    Objective-C是对C语言的扩展,这和C++的前身 Better-c有很大的相似之处,Objective-C的新版本里实现了和Java类似的垃圾回收机制,但基于iphone平台的资源限

    制,iphone平台并不支持垃圾回收机制。

    (二)、初识Objective-C 

      1、Cocoa的组成

    苹果公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架集提供Cocoa组成部分有:

    (1)、Foundation框架(有很多有用的,面向数据的低级类和数据结构);

    (2)、Application Kit(也称AppKit)框架(包含了所有的用户接口对象和高级类,例如NS……),还有一个支持框架的套件,包括Core Animation和Core Image。

    2、NSLog相当于C语言中的printf()

    NSLog(@"hello Objective-C");
    //注:@是Objective-C在标准C语言基础上添加的特征之一,双引号的字符串前面有一个@,这表示引用的字符串应该作为Cocoa的NSString元素处理 
    
    NSLog(@"are %d and %d different? %@",5,5,boolString(areTheyDifferent)); 
    //注意%@:使用NSLog输出任何对象值时,都会使用这个格式说明

    3、BOOL使用8位存储,YES定义为1,NO定义为0,大于1不为YES,跟标准C不同。

    若不小心将一个长于1字节的整型值赋给BOOL,则只截取低八位

     

    二、Objective-C常见语法说明

    (1)、头文件引用使用 #import “文件名”或者 #import <文件名>的形式以确保每个头文件仅被包含一次;

    (2)、类声明以 @interface 类名:继承类 开头,以 @end 结尾,类实现以@implementation 类名 开头,以 @end 结尾;

    (3)、实例方法,即成员方法,在方法名前面添加一个减号(-);类方法,在方法名前面添加一个加号(+);

    (4)、类方法的调用格式为 [类名 类方法],成员方法调用格式为 [实例名 实例方法],这种模式在ObjC中被称为消息机制,[对象 消息]即给对象发送了一个消息,

    产生的效果就是该对象调用了该类中定义的对应的实例方法。

    (5)、关键字:关键字基本上都是以@开头的,例如:@public、@private、@end 等

    (6)、字符串以@开头

     

    @"hello"    // 这一个是OC 的字符串
    
    "hello"       // 这是是C语言的字符串


    (7)其他语法:

    a、基本数据类型:char 、int、float、double、BOOL(YESNO)

    b、nil:相当于C语言的NULL ,也就是0

    c、基本语句:循环语句(do while 、while、for)、条件语句(if、if-else、switch)

    d、注释:// 和/*.......*/

    三、OC开发过程(在终端上运行时)

    1、编写OC源文件:.m、.c

    2、编译:cc -c xxx.m xxx.c

    3、链接:cc xxx.o xxx.o -framework Foundation    (只有用到了Foundation框架才需要加上-framework Foundation)

    4、运行:./a.out

    整体的流程就是:.m(源文件)————编译————》 .o(目标文件)——链接———》a.out(可执行文件)

    四、OC 中#import的作用和主头文件

    OC中,#import的作用跟C语言中的#include一样,都是拷贝文件的内容,不同的是:#import可以自动防止文件的内容被重复拷贝。

    主头文件就是最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件,如:Foundation框架的主头文件名称就是Foundation.h,OC中只需要包含

    Foundation框架主头文件,就可以使用Foundation这个框架中所声明的所有成员变量、方法以及实现的所有方法。

     

    五、OC中类的设计

    1、类的结构:类名、属性、行为

    类是对所有对象相同属性的概况。

    (1)类名命名的规范:

    第一点:类名的第一个字母必须是大写

    第二点:不能有下划线

    第三点:当出现多个英文单词时,用驼峰标识(即每个单词首字母大写)

    (2)完整的写一个类,必须包含类的声明与类的实现

    类的声明:@interface 类名

                     @end

    类的实现:@implemention 类名

                     @end

    (3)声明是用于:声明对象的属性、行为

      1>、OC中,成员变量的声明必须写在{}之内,方法(行为)的声明必须写在{}之外。

      2>、声明成员变量时,不可以对成员变量进行赋值的操作,只能声明。

      3>、声明方法(行为)时要注意:只要是OC对象的方法,必须以减号 - 开头,而且OC方法中任何数据类型都必须用小括号()括住。

    (4)类的使用的注意点

      1>、在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]

      2>、利用类来创建对象

      3>、类的调用:[所创建的对象  对象方法]

  • 相关阅读:
    优化C/C++代码的小技巧
    闭包,看这一篇就够了——带你看透闭包的本质,百发百中
    7215:简单的整数划分问题
    常见问题最佳实践三:服务启动顺序
    JAVA 用分苹果来理解本题
    arcgis访问格式
    墨卡托投影
    C# 从DataTable中取值
    Base64编码的字符串与图片的转换 C#
    墨卡托投影实现
  • 原文地址:https://www.cnblogs.com/waterfox/p/4373452.html
Copyright © 2011-2022 走看看