`
lizhuohuang
  • 浏览: 117743 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

第一课 实例化对象

 
阅读更多
写道
NSClassFromString是一个很有用的东西,尤其在进行iPhone toolchain的开发上。

正常来说,
id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];

id myObj = [[MySpecialClass alloc] init];
是一样的。但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。
因此,在某些情况下,可以使用NSClassFromString来进行你不确定的类的初始化。

比如在iPhone中,NSTask可能就会出现这种情况,所以在你需要使用NSTask时,最好使用:
[[NSClassFromString(@"NSTask") …..]]
而不要直接使用[NSTask …]这种写法。

NSClassFromString的好处是:
1 弱化连接,因此并不会把没有的Framework也link到程序中。
2 不需要使用import,因为类是动态加载的,只要存在就可以加载。因此如果你的toolchain中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。
 
 
 
写道
oc = objective-c

oc 创建实例化对象

1.ClassName *myNewClassName; // 指针

2.myNewClassName = [ClassName alloc]; //通过alloc这个命令申请一个空间来存放我们实例出来的对象

3.myNewClassName = [myNewClassName init]; //初始化对象

4.ClassName *myNewClassName=[[ClassName alloc] init]; // 简化写法

注:
和java的声明写法很相近
1.ClassName obj;
2.obj = new ClassName();
3.ClassName obj = new ClassName();

 

分享到:
评论

相关推荐

    创建学生(Student)类,并实例化对象访问测试

    第九节课python的类第三题 (1)属性:name(str)、age(int)、male(性别,str)、major(专业,str) (2)方法: def getInfo(self):接收用户输入,检测并设置学生的四项基本信息。年龄必须小于50,性别只能是“男”或“女”...

    .NET C# OOP面向对象技术

    C#面向对象技术 第一课作业 里面包含实例化的对象与方法,通过Main方法调用

    完成Java面向对象程序设计实验课的心得体会(1).doc

    也就是说,类的实例化就是 创建对象的过程类的实例就是对象。 ----------------------- 完成Java面向对象程序设计实验课的心得体会(1)全文共6页,当前为第1页。 完成Java面向对象程序设计实验课的心得体会(1)全文共6...

    第八课 单例模式1

    1.单例模式可以构建出全局维护使用的单一实例对象,避免了变量全局污染 2.单例模式的单例对象只会在实例化的时候生成一次,之后进行返回,减少了不必要的 3.单例模

    VC++可视化编程指南

    第一课 Windows编程和面向对象技术  1.1 Windows发展历史  1.2 Windows操作系统特点  1.3 Windows应用程序设计的特点  1.4 Windows应用程序的开发工具  1.5 面向对象和Windows编程 第二课 使用Visual C++...

    Perl 实例精解(第三版).pdf

    练习13 这一课的对象是什么 练习14 函数Pod中的Perl 第14章 tie函数,DBM文件和数据库挂钩 14.1 连接变量与类 14.1.1 tie函数 14.1.2 预定义方法 14.1.3 连接标量 14.1.4 连接数组 14.1.5 连接...

    基于Java继承关系改进学生选课模拟系统【100011985】

    5、course 被继承父类: (1)设定编号、课程名称、上课地点、时间、教授老师属性 (2)编写构造方法,使实例化对象时即可完成属性赋值 (3)重写方法 toString(),用于输出课程详细信息 (4)将其移至新建 package ...

    【新手入门】javascript新手学习第三课

    通过函数的形式来创建对象(必须进行实例化),也可以进行多重实例化 el:通过一个怪物对象来创建更多不同的怪物实例对象 function person(name,age){  this.name=name;  this.age=age; } var dxq=new person("John",...

    PROENGINEER WINLDFIRE5.0 实例教程

    第2课 参数化草图绘制之一 2.1 草绘工作界面 2.1.1 进入草绘工作界面 2.1.2 草绘工具栏 2.1.3 草绘命令工具栏 2.2 点、直线、矩形的绘制 2.2.1 点的绘制 2.2.2 直线的绘制 2.2.3 矩形、平行四边形的绘制

    成都盛课盟IT培训:高级网页设计.

    一个简单的HTML实例 3、CSS+DIV网页样式与布局 第1部分 CSS基础知识篇 第2部分 CSS+DIV美化和布局篇 第3部分 CSS混合应用技术篇  第4部分 综合案例篇 小型工作室网站  第5部份 实战(企业网站、旅游网站、网上...

    VC++ 编程指南_中文chm

    第一课 Windows编程和面向对象技术  1.1 Windows发展历史  1.2 Windows操作系统特点  1.3 Windows应用程序设计的特点  1.4 Windows应用程序的开发工具  1.5 面向对象和Windows编程 第二课 使用Visual C++...

    VC++编程指南(中文版).chm

    第一课 Windows编程和面向对象技术  1.1 Windows发展历史  1.2 Windows操作系统特点  1.3 Windows应用程序设计的特点  1.4 Windows应用程序的开发工具  1.5 面向对象和Windows编程 第二课 使用Visual C++...

    第3课分配

    实例化后,Lesson3Streams类的对象必须将一个参数传递给构造函数,以指定输入文件的名称。 (可选)构造函数将接受正则表达式作为第二个参数。 指定后,将使用第二个参数代替默认模式(请参见上一段)。 * 文本...

    Thinking in java4(中文高清版)-java的'圣经'

    2.4.2 基本成员默认值 2.5 方法、参数和返回值 2.5.1 参数列表 2.6 构建一个Java程序 2.6.1 名字可见性 2.6.2 运用其他构件 2.6.3 static 关键字 2.7 你的第一个J ava程序 编译和运行 2.8 注释和嵌入式文档 2.8.1 ...

    [程序员成长课堂:C.标准教程].陈国建等.扫描版.pdf

    第一篇 C++概述 第1章 由C迁移到C++ 2 第2章 C++代码规范 11 第二篇 C++基本语言 第3章 C++数据类型 40 第4章 表达式 96 第5章 C++语句 106 第6章 标准模板库STL 130 第三篇 C++面向对象编程 第7章 类 148 第8章 类...

    二十三种设计模式【PDF版】

    状态是编程中经常碰到的实例,将状态对象化,设立状态变换器,便可在状态中轻松切换. 设计模式之 Memento(注释状态?) 很简单一个模式,就是在内存中保留原来数据的拷贝. 设计模式之 Interpreter(解释器) 主要用来对...

    C#23种设计模式_示例源代码及PDF

    如果不愿意请向前传”, 纸条就一个接一个的传上去了,糟糕,传到第一排的 MM 把纸条传给老师了,听说是个老 处女呀,快跑! 责任链模式: 在责任链模式中,很多对象由每一个对象对其下家的引用而接起来形成一条 ...

    VUE常用方法整理.pdf

    第一章 Vue核心知识讲解 5 第二节 引包、留坑、实例化 、插值表达式{{}} 5 1. 引包 5 2. 留坑 5 3. 实例化 5 4. 插值表达式{{ }} 5 第三节 熟悉及使用常用指令 5 1. 什么是指令 5 2. 常用的指令有哪些,及怎么使用...

Global site tag (gtag.js) - Google Analytics