Objective-C初步研究 - 接口文件(interface file)

简介: 1. Exploring the Objective-C File Structure    建立一个Objective-C的类会新建两个文件, 一个接口文件(头文件)(interface file), 后缀为.

1. Exploring the Objective-C File Structure

    建立一个Objective-C的类会新建两个文件, 一个接口文件(头文件)(interface file), 后缀为.h,

    一个实现文件(implementation file), 后缀为.m

    (见下图)

 

   顾名思义, 接口文件定义所有方法签名, 实现文件具体实现代码逻辑

   看下面这段代码

 

 

#import语句用来导入某个头文件, 学过Java的朋友可以知道, 它类似Java中的import语句, 而Java中是导入某个包

 

Directive(指示语句)

Directives are commands that are added to your files that help Xcode and its
associated tools build your application.
 

(Directives你可以把它看成一种命令, 类似.NET中的@指示, 它让Xcode编译器知道你的代码如何组织)

 

@interface myClass : myParent <myProtocol> {
  NSString *myString;
  IBOutlet UILabel *myLabel;
}

 

Protocol(协议)

Sometimes you will come across features that require you to write methods
to support their use—such as providing a list of items to be displayed in a
table. The methods that you need to write are grouped together under a common
name—this is known as a “protocol.”

(你可以把它想像成C#或者Java中的接口, 协议中定义了哪些方法, 你就需要去实现这些方法)

 

 

+ (NSString)myClassMethod:(NSString)aString;
- (NSDate)myInstanceMethod:(NSString)aString anotherParameter:(NSURL)aURL;

 

The + denotes a class method(+号表示该方法是一个类方法)

- indicates an instance method(-号表示该方法是一个实例方法)

 

 

@property指示

 

@property (nonatomic, retain) UILabel *myLabel;

 

如果程序要访问实例变量(instance variable), 如果你没有加入该指示, 必须使用get, set方法

你可以把该指示想像成.NET中的属性

public  string PropertyName {  getset; }

 

原来使用get, set访问的代码

 

[myLabel setText:@”Hello World”];

theCurrentLabel=[myLabel getText];

 

 加了属性指示后, 我们可以像下面这样简单的访问

 

myLabel.text=@”Hello World”;
theCurrentLabel=myLabel.text;

 

 这样就方便了很多

 

最后, 接口结束必须以结束指示符

@end

 

 

目录
相关文章
|
iOS开发 编译器
Objective-C初步研究 - 实现文件(Implementation File)
1. 实现文件以.m为后缀名       #import “myClass.h” 导入头文件   @implementation myClass 告诉编译器实现哪个类   @synthesize myLabel; 为实例变量产生getters和setters方法   类方法实现 +(NS...
755 0
|
SQL C# iOS开发
objective-C中的接口与泛型
先承认我是标题党,因为在obj-c的世界中,官方根本没有"接口"与"泛型"这样的说法。 不过在obj-c中有二个与之接近的概念"非正式协议(interface)"与"正式协议(protocol)"。
1025 0
|
7月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
430 2