新手提问:Objective-C中在@implementation上加一个@interface的有什么不同?
伊谢尔伦
伊谢尔伦 2017-04-21 11:16:01
0
2
647

新手提问,看别人的代码是这样写的:

@interface FirstViewController() 
-(void)timerOnActive;
-(void)getDataFromCD;
@end

@implementation FirstViewController
@synthesize userID;
@synthesize timer;

上面的代码是写在.m文件里的,我的问题是为什么不把

@interface FirstViewController() 
-(void)timerOnActive;
-(void)getDataFromCD;
@end

写在.h文件的@interface中? FirstViewController() 后面的那个括号是空的,需要填什么吗?这样写是为了补充吗?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(2)
Peter_Zhu

ここでの @interface FirstViewController() は、実際には、匿名カテゴリと同様に、クラス拡張機能であり、それが宣言するメソッドは、対応するクラスのメインの @implementation コード ブロックに実装する必要があります。クラスまたはフレームワーク クラスによってのみ使用されるプライベートとして宣言された追加のメソッド。このようなメソッドは、前述のプライベート ヘッダー ファイルまたは実装ファイル内のカテゴリ (または複数のカテゴリ) を使用して宣言できます。これは機能しますが、コンパイラは、宣言されたすべてのメソッドが実装されていることを確認できません。

いいねを押す +0
小葫芦

mファイルに記述されたメソッドは外部クラスからは呼び出すことができません。このメソッドはプライベートメソッドとして扱われ、このクラス内で呼び出されます。それは外の世界から隠されています。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート