objective-C 的程式碼檔案組織
上一篇中,所有程式碼都是放在同一個檔案main.h中的,這顯然不是一個好的方式,程式碼多了以後,看著就頭大。可以將其進行拆分:
1、將所有列舉、結構的定義單獨放在一個檔案ShapeDef.h中
//定義“幾何形狀型別”列舉typedef enum{ kCircle, kRectangle, kOblatesShperoid } ShapeType; //定義“幾何形狀顏色”列舉typedef enum{ kRedColor, kGreenColor, kBlueColor} ShapeColor; //定義“幾何形狀矩形區域”結構typedef struct{ int x,y,width,height;} ShapeRect; //定義“幾何形狀”結構typedef struct{ ShapeType type; ShapeColor fillColor; ShapeRect bounds;}Shape;
2、將所有方法都放在另一個檔案ShapeMethod.h中
#import "ShapeDef.h"//將“顏色列舉“轉換為字串NSString *colorName(ShapeColor colorName){ switch (colorName) { case kRedColor: return @"red"; break; case kGreenColor: return @"green"; break; case kBlueColor: return @"blue"; default: return @"no clue"; break; }}//畫圓void drawCircle(ShapeRect bounds,ShapeColor fillColor){ NSLog(@"drawing a circle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));}//drawCircle //畫矩形void drawRectangle(ShapeRect bounds,ShapeColor fillColor){ NSLog(@"drawing a rectangle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));}//drawRectangle //畫橢圓形void drawEgg(ShapeRect bounds,ShapeColor fillColor){ NSLog(@"drawing an egg at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));}//drawEgg //畫幾何形狀void drawShapes(Shape shapes[],int count){ int i; for(i=0;i3、最後在主檔案Main.m中使用ShapeMethod.h
#import "ShapeMethod.h"int main () { Shape shapes[3]; ShapeRect rect0 ={0,0,10,30}; shapes[0].type = kCircle; shapes[0].fillColor = kRedColor; shapes[0].bounds = rect0; ShapeRect rect1 = {30,40,50,60}; shapes[1].type = kRectangle; shapes[1].fillColor = kGreenColor; shapes[1].bounds = rect1; ShapeRect rect2 = {15,18,37,39}; shapes[2].type = kOblatesShperoid; shapes[2].fillColor = kBlueColor; shapes[2].bounds = rect2; drawShapes(shapes, 3); return 0;}注:ShapeDef.h,ShapeMethod.h,Main.m三個檔案均處於同一個專案的同一個目錄中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4687/viewspace-2800242/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Objective-C檔案組織介紹(附程式碼)Object
- Vue原始碼探究-原始碼檔案組織Vue原始碼
- 幽默:讓程式碼檔案有組織地分層,然後...
- 組織css程式碼CSS
- 程式碼模型組織方式模型
- Objective-C 基礎教程第六章,原始檔組織Object
- Python:讀寫檔案(I/O) | 組織檔案Python
- 前端專案檔案組織與元件命名前端元件
- Go包-程式碼組織者Go
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- LlamaFS自組織檔案管理器
- APT組織檔案館|2021年度APT組織活動態勢分析APT
- 如何組織大型 Rust 程式碼庫Rust
- 我們正在錯誤的組織程式碼!
- 如何組織軟體模組的程式碼結構?
- 公司程式碼與採購組織的關係
- 如何組織大型JavaScript應用中的程式碼?JavaScript
- LINUX 的EXT2檔案系統的組織方式Linux
- 第3周專案3-三角形類(程式的多檔案組織)
- 從事件系統說起,更好的組織程式碼事件
- 用BEM命名規範組織CSS程式碼CSS
- 程式的定義、組成、組織方式、特徵特徵
- 位元組碼檔案解剖
- JavaScript程式碼組織結構良好的5個特點JavaScript
- go fiber:使用獨立的routes檔案組織controllerGoController
- SQL server資料庫建立程式碼 filegroup檔案組修改的示例程式碼SQLServer資料庫
- C語言標頭檔案組織與包含原則C語言
- 組織程式和資料
- 第3周專案4-考了語文數學的學生(多檔案形式組織程式)
- 專案型組織的流程之舞
- 計算機程式的思維邏輯 (22) - 程式碼的組織機制計算機
- SAP MM 採購組織和公司程式碼的分配關係
- 跨平臺程式碼三種組織方式詳解
- Unity3D如何有效地組織程式碼?Unity3D
- 程式語言基本組成:組織結構
- 專案組織規劃的原則(轉)
- 重構-改善既有程式碼的設計(六)–重新組織函式函式