新手提问,看别人的代码是这样写的:
@interface FirstViewController() -(void)timerOnActive; -(void)getDataFromCD; @end @implementation FirstViewController @synthesize userID; @synthesize timer;
上面的代码是写在.m文件里的,我的问题是为什么不把
@interface FirstViewController() -(void)timerOnActive; -(void)getDataFromCD; @end
写在.h文件的@interface中? FirstViewController() 后面的那个括号是空的,需要填什么吗?这样写是为了补充吗?
Le @interface FirstViewController() est ici en fait une extension de classe, tout comme une catégorie anonyme. Les méthodes qu'elle déclare doivent être implémentées dans le bloc de code principal @implementation de la classe correspondante. Une classe peut avoir une déclaration publique L'API. dispose également de méthodes supplémentaires déclarées comme privées pour être utilisées uniquement par la classe ou la classe framework. Vous pouvez déclarer une telle méthode en utilisant une catégorie (ou plusieurs catégories) dans un fichier d'en-tête privé ou un fichier d'implémentation mentionné ci-dessus. Cela fonctionne, mais le compilateur ne peut pas confirmer que toutes les méthodes déclarées sont implémentées.
La méthode écrite dans le fichier m ne peut pas être appelée par des classes externes. Cette méthode est traitée comme une méthode privée et appelée au sein de cette classe. Il est caché du monde extérieur.