`
superich2008
  • 浏览: 324391 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Objective-C知识点滴记录

阅读更多
1、方法调用基本语法
   [object method];
   [object methodWithInput:input];
   方法可以有返回值:
   output = [object methodWithOutput];
   output = [object methodWithInputAndOutput:input];
   还可以调用累方法:
   id myStr = [NSString string];
   id类型意味着myStr可以是任意类型的对象。
   或者:NSString* myStr = [NSString string];
   注意:在对象类型的右边有一个星号(*),在Objective-C中所有的对象变量都是指针类型,id类型已经被预定义为指针类型,所以不需要加一个星号。

2、方法嵌套调用
   在许多编程语言中,嵌套的方法或函数是这样调用的:
   function1(function2()); //function2()的返回值作为参数传递给function1()。
   在Objective-C中,嵌套的方法或函数调用:
   [NSString stingWithFormat:[prefs format]];
   要尽量避免在一行语句中进行两层以上的嵌套,这样会使代码的可读性降低。

3、多个输入参数的方法定义
   在Objective-C中,一个方法的名字可以被拆分成几段:
   - (BOOL) writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
   你可以这样调用这个方法:
   BOOL result = [myDate writeToFile:@"/tmp/log.txt" atomically:NO];
   这些不是命名参数。在运行中,该方法的名字实际上是:writeToFile:atomically:

4、点操作符
   在Mac OS X 10.5中,Objective-C 2.0新增了点操作符的设置器(setter)和获取器(getter):
   user.name = @"Mike"; //[user setName:@"Mike"];
   output = user.name;   //output = [user name];
   区别:点语法只能使用在设置器(setter)和获取器(getter)上,而不能用于普通方法!

5、在Nil上调用方法
   在Objective-C中,nil对象的作用等同于其他语言的NULL指针。不同的地方在于,在nil上调用方法不会导致程序崩溃或抛出异常。

6、类的创建
   在Objective-C语法中,一个类通常分为两部分:类的接口(头文件)和类的实现。
   类的接口(interface)通常存放在类似ClassName.h的文件中,在这里我们定义实例变量和公用方法(public)。
   类的实现存放在ClassName.m这样的文件中,它实现了接口中定义的方法。通常还可以定义外面不能访问的私有方法(private)。
   User.h
   --------------------
   #import <Cocoa/Cocoa.h>
   @interface User : NSObject
    {
         NSString* username;
         NSString* password;
    }
    - (NSString*) username;
    - (NSString*) password;
    - (void) setUsername:(NSString*) input;
    - (void) setPassword:(NSString*) input;
    @end
  
   User.m
   --------------------
   #import "User.h"
   @implemention User
   - (NSString*) username
   {
         return username;
   } 
   - (NSString*) password
   {
         return password;
   }
   - (void) setUsername:(NSString*) input
   {
         [username autorelease];
         username = [input retain];
   }
   - (void) setPassword:(NSString*) input
   {
         [password autorelease];
         password = [input retain];
   }
   @end
   在Objective-C中,get这个词有着特殊含义,获取器(getter)是不带get前缀的。方法前面的减号(-)表示这是一个实例方法,如果方法名前面是个加号(+),表示这是一个类方法。
   释放一个对象有两种方法:release和autorelease。标准的release会立即释放对象的引用,autorelease直到当前方法结束才会释放(除非你添加自定义的代码来明确的改变它)。

7、类目(Category)
   类目是Objective-C中最有用的一个特性。类目允许你为一个已存在的类添加一些方法,而不用子类化该类,也不需要你了解该类的实现细节。
   例如:我想给NSString添加一个方法,判断它是不是一个URL,写法如下:
   NSString-NSStringHelper.h
   -------------------------------
   #import <Cocoa/Cocoa.h>
   @interface NSString (NSStringHelper)
    - (BOOL) isURL;
   @end
   这很像一个类的声明,不同的地方在于后面没有列出父类,并且在括号里写了类目的名字。
类目的名字可以随便取,但最好能表达出你在类目中包含的方法所要做的事。
   #import "NSString-NSStringHelper.h"
   @implemention NSString (NSStringHelper)
    - (BOOL) isURL
    {
          if ([self hasPrefix:@"http://"])
               return YES;
          else
               return NO;
    }
   @end
    现在你可以使用NSString的这个方法了:
    NSString* str1 = @"http://www.iteye.com";
    NSString* str2 = @"HelloWorld";
    if ([str1 isURL])
         NSLog(@"str1 is a URL.");
    if ([str2 is URL])
         NSLog(@"str2 is a URL");


内容更新中。。。。。
分享到:
评论

相关推荐

    C语言主要知识点巩固(学习Objective-C 的前提)

    在掌握了这些C语言基础知识后,你将更好地理解和学习Objective-C,因为Objective-C是在C语言的基础上扩展的面向对象编程语言,它保留了C的大部分语法,并引入了类、消息传递等面向对象特性。因此,牢固的C语言基础...

    Objective-C语言入门教程&深入浅出,理论实践相结合.pdf

    Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 Objective-C语言入门教程&深入浅出,理论实践相结合 ...

    Objective-c语言学习-快速入门完整版完整版

    通过以上九讲的学习,你将全面掌握Objective-C的基础知识,为进行实际的iOS和macOS应用开发打下坚实的基础。在学习过程中,建议结合实际编程练习,以加深理解并提升技能。同时,持续关注苹果的开发文档和技术更新,...

    Objective-C基础教程(入门教程).pdf

    综上所述,本教程覆盖了Objective-C编程语言的基础知识点,不仅包括语法和结构,还包括与C语言的兼容性、内存管理机制、面向对象编程的核心概念、以及如何在不同操作系统平台上进行开发的介绍。通过这些内容的学习,...

    windows 下搭建 Objective-C 开发环境

    ### 在Windows下搭建Objective-C开发环境 随着移动应用开发的普及,越来越多的开发者开始尝试不同的编程语言和技术栈。尽管Objective-C主要与Apple的平台(如iOS和macOS)相关联,但有时候,出于某些原因(比如团队...

    Objective-C Runtime测试代码

    Objective-C语言的许多决策可以在编译和运行时执行。只要有可能,它是动态的。这意味着Objective-C语言不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。Runtime系统是一种用于Objective-C语言的操作系统...

    Objective-C 2.0 运行时系统编程指南

    ### Objective-C 2.0 运行时系统编程指南 #### 概述 Objective-C是一种面向对象的编程语言,它以其独特的动态性而闻名。这种动态性体现在它能够尽可能地将决策过程推迟到运行时执行,而不是在编译或链接阶段。因此...

    Objective-C高级编程 iOS与OS X多线程和内存管理_Objective-C_ios_

    《Objective-C高级编程:iOS与OS X多线程和内存管理》是一本深入探讨Apple平台开发中的关键技术的书籍。本书主要围绕Objective-C语言在iOS和OS X操作系统上的应用,特别是针对多线程和内存管理这两个核心主题进行...

    Objective-C编程全解最新版.pdf.zip

    1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此,理解C语言的基本语法是必要的。Objective-C添加了消息传递机制、类和协议等面向对象特性。 2. **消息传递**:Objective-C中的对象通过发送消息来...

    Objective-C与Objective-C++的混用代码示例

    Objective-C是基于C语言的,主要用于构建iOS和macOS应用程序,而Objective-C++则是Objective-C的一个扩展,它引入了C++的特性,使得开发者可以同时利用Objective-C的动态特性和C++的面向对象编程能力。 ### ...

    Objective-C语言教程

    希望这个简单的Objective-C语言教程能够为你提供一个入门的起点。Objective-C是一种面向对象的编程语言,广泛应用于Mac OS和iOS开发。通过学习Objective-C的基本语法、类和对象、控制流程和方法等内容,你将能够编写...

    Objective-C程序设计 第6版 pdf

    1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此它包含了C的所有特性。书中会讲解基本的数据类型、控制结构、函数和指针等基础知识,同时介绍Objective-C特有的动态类型和消息传递机制。 2. **...

    Objective-C程序设计(第4版)(全球最畅销Objective-C编程书籍)

     《Objective-C 程序设计(第4版)》详细介绍了Objective-C和苹果iOS、Mac平台面向对象程序编程的知识。《Objective-C 程序设计(第4版)》作者假设读者没有面向对象程序语言或者C语言(Objective-C基础)编程经验,...

    《Objective-C基础教程》中文版(含源代码)

    《Objective-C基础教程》是一本面向初学者的编程书籍,主要涵盖了Objective-C语言的基本概念、语法和编程实践,尤其适合那些想要踏入iOS应用开发领域的学习者。Objective-C是Apple公司开发的面向对象的编程语言,它...

    Objective-C2.0程序设计第二版中文版及代码

    《Objective-C 2.0程序设计》和《Effective Objective-C 2.0》两本书将深入讲解以上知识点,并提供实践示例,帮助读者更好地理解和应用Objective-C 2.0。通过学习这些内容,开发者能够熟练地构建高效、稳定、用户...

    用Objective-C语言实现了各种设计模式,收集各种例子,方便大家学习和普及设计模式 .zip

    用Objective-C语言实现了各种设计模式,收集各种例子,方便大家学习和普及设计模式。.zip用Objective-C语言实现了各种设计模式,收集各种例子,方便大家学习和普及设计模式。.zip用Objective-C语言实现了各种设计...

    Objective-C的语法与Cocoa框架.pdf

    Objective-C语法的基石是C语言的语法结构,这意味着所有的C语言代码都可以在Objective-C中直接使用。但是,Objective-C在C的基础上新增了消息传递机制,这是它与C语言的一个重要区别。在Objective-C中,方法调用是...

    Objective-C.2.0 中文版.pdf & Objective-C.chm

    这个压缩包包含两个关于Objective-C的学习资源:"Programming In Objective-C.chm" 和 "Programming in Objective-C.2.0 中文版.pdf"。这两个文件分别以CHM(Microsoft帮助文档格式)和PDF(便携式文档格式)呈现,...

    这是一个基于Objective-C语言的基础案例集 旨在用于给初学者快速了解Objective-C语言的语法 .zip

    在Objective-C中,这些基础知识仍然适用,但Objective-C引入了面向对象的特性,如类、对象、继承、多态和消息传递。 1. 类与对象:Objective-C中的所有事物都是对象,它们由类定义。类是一个模板,描述了对象的属性...

    objective-c基础教程

    ### Objective-C基础教程 #### 一、Objective-C简介 Objective-C是一种通用的、...通过深入学习本书,读者可以全面掌握Objective-C的基本概念、语法结构及编程技巧,并能够利用这些知识开发出高质量的iOS应用程序。

Global site tag (gtag.js) - Google Analytics