首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

iOS 入門:類之間方法調用的兩種基本方式

     編輯:程式設計疑難解答

場景

類 A 需要調用類 B 的實例方法 - (void)post。

方式一:實例方法(最常用)

// B.h
@interface B : NSObject
- (void)post; // 實例方法,需在 .h 公開
@end

// A.m
#import "B.h"
B *b = [[B alloc] init]; // 初始化
[b post];                // 調用

方式二:類方法(無需實例化)

// B.h
@interface B : NSObject
+ (void)post; // 類方法,+ 號開頭
@end

// A.m
#import "B.h"
[B post]; // 直接通過類名調用

選型建議

場景推薦
方法需訪問實例變量/狀態實例方法
純工具函數、無狀態、單例入口類方法
多處複用、需保持狀態單例模式 + (instancetype)sharedInstance

常見新手錯誤

  • 忘在 .h 公開方法聲明 → 編譯報錯 No visible @interface
  • 未 #import "B.h" → 找不到類定義
  • 實例方法卻用 [B post] 調用 → 崩潰 unrecognized selector sent to class

總結

iOS 類間調用核心:實例方法需初始化對象,類方法直接用類名。務必在 .h 公開接口,.m 實現細節,#import 引入頭文件。理解這兩點,即可解決 90% 的類調用問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved