Objective-C 是 C 语言的超集
您还可以访问标准 C 库例程,例如在 stdlib.h 和 stdio.h 中声明的那些例程。
Objective-C 还是一种非常动态的程序设计语言,而且这种动态是其最大优势。这种动态体现在它允许在运行应用程序时(即运行时)才去确定其行为,而不是在生成期间就已固定下来。因此,Objective-C 的动态机制让程序免受约束(编译和链接程序时施加的约束);进而在用户控制下,将大多数符号解析责任转移到运行时。
当您想要在源代码中包括头文件时,请在头文件或源文件的前几行之中,指定一个导入 (#import) 指令,#import 指令类似于 C 的 #include 指令,不过前者确保同一文件只被包括一次。
下列框图中的语法声明名为 MyClass 的类,它是从基础类(或根类)NSObject 继承而来的。(根类是供其他类直接或间接继承的类。)类声明以编译器指令 @interface 开始,以 @end 指令结束。类名称后面(以冒号分隔),是父类的名称。在 Objective-C 中,一个类只能有一个父类。
在 @interface 指令和 @end 指令之间,编写属性和方法的声明。这些声明组成了类的公共接口。
@interface MyClass : NSObject
{
int count;
id data;
NSString name;
}
- (id)initWithString:(NSString*)aName;
+(MyClass*)createMyClassesWithString:(NSString*)aName;
类实现的语法与类接口文件类似。它以 @implementation 编译器指令开始(接着是该类的名称),以 @end 指令结束。中间是方法实现。(函数实现应在 @implementation ...@end 块之外。)一个实现应该总是将导入它的接口文件作为代码的第一行。
#import "MyClass.h"
|
||
|
||
@implementation MyClass
|
||
- (id)initWithString:(NSString *)aName
|
||
{
|
||
// code goes here
|
||
}
|
||
|
||
+ (MyClass *)myClassWithString:(NSString *)aName
|
||
{
|
||
// code goes here
|
||
}
|
||
@end
对于实例方法,声明前面是减号 (-);对于类方法,对应指示器是加号 (+)。类方法是一种功能,类似于 C++ 中的静态类方法。 Objective-C 还提供用于调用存取方法的点记法语法。存取方法获取并设定对象的状态,因此对于封装很重要,是所有对象的重要功能。对象隐藏或封装其状态,并显示接口,该接口是访问该状态的所有实例都通用的。使用点记法语法,您可以将上个示例重新编写为如下形式:
您还可以使用点记法语法进行赋值:
此语法只是编写 [myAppObject setTheArray:aNewArray]; 的另一种方式。在点记法表达式中,您不能使用对动态类型化的对象(类型为 id 的对象)的引用。
一个对象的类定义一个接口,该接口使其对象的用户能获取并设定所封装属性的值。执行这些操作的方法,称为存取方法。 使用已声明的属性后,就不必为该类中用到的每个属性实现 getter 和 setter 方法。 参考: http://justcoding.iteye.com/blog/1444548 iOS 应用程序基于 Foundation 和 UIKit 框架 开始编程时,您主要使用 Foundation 和 UIKit 框架,因为它们满足大多数应用程序开发的需求。 Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上。Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(用于取消分配等任务),使您的代码更加一致,可再用性更好。 使用 Foundation:
在“您的首个 iOS 应用程序”中,您就使用了 Foundation 框架。例如,您使用了 NSString 类的实例,将用户的输入储存在 userName 中。您还使用了 Foundation 实例方法 initWithFormat:,创建问候语字符串。 UIKit 框架提供的类,可用于创建基于触摸的用户界面 所有 iOS 应用程序都基于 UIKit。没有这个框架,就无法交付应用程序。UIKit 提供基础结构,用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。UIKit 还通过管理屏幕上显示的内容,来组织复杂的应用程序。 使用 UIKit:
在“您的首个 iOS 应用程序”中,您使用了 UIKit。检查应用程序如何启动时,您看到了 UIApplicationMain 函数,它创建了 UIApplication 类(处理传入的用户事件)的一个实例。您实现了 UITextFieldDelegate 协议,以便在用户轻按“Done”键时,让键盘消失。事实上,您使用了 UIKit 中的 UITextField、UILabel 和 UIButton 类,创建了整个界面。 模型: 变量username 数据 控制器:UI helloLayer 视图: 按钮 文本 国际化 : http://www.cnblogs.com/zhidao-chen/archive/2012/07/08/2581977.html |