objective-C是不是的方法m的方法是不是都要在h文件定义如果,不要举个例子
时间: 2024-09-23 20:09:41 浏览: 22
在Objective-C中,并非所有方法都需要在`.h`头文件中定义。实际上,对于私有方法(即内部使用的、不打算公开给其他类的方法),通常只在`.m`实现文件中定义,而不在`.h`文件中显式声明。这是为了保护数据封装和遵循单一职责原则。
例如,如果你有一个`MyClass`,它有一些私有的计算辅助方法,如`_calculateSomethingInternal`,这些方法不需要外部直接访问,所以在`.m`中定义即可:
```objc
// MyClass.m
#import "MyClass.h"
@implementation MyClass
- (int)somePublicMethod {
int result = _calculateSomethingInternal();
//...
return result;
}
#pragma mark - Private methods
- (int)_calculateSomethingInternal {
// 实现细节...
}
@end
```
在`.h`文件中,我们只需要声明公开的方法(包括协议遵守的公开方法):
```objc
// MyClass.h
#import <Foundation/Foundation.h>
@interface MyClass : NSObject
- (int)somePublicMethod;
@end
```
阅读全文