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
- 程式碼模型組織方式模型
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- 前端專案檔案組織與元件命名前端元件
- 你是如何組織html程式碼的?HTML
- Go包-程式碼組織者Go
- LlamaFS自組織檔案管理器
- 如何組織軟體模組的程式碼結構?
- 我們正在錯誤的組織程式碼!
- go fiber:使用獨立的routes檔案組織controllerGoController
- 如何組織大型 Rust 程式碼庫Rust
- APT組織檔案館|2021年度APT組織活動態勢分析APT
- SQL server資料庫建立程式碼 filegroup檔案組修改的示例程式碼SQLServer資料庫
- 位元組碼檔案解剖
- 用BEM命名規範組織CSS程式碼CSS
- 程式的定義、組成、組織方式、特徵特徵
- JavaScript程式碼組織結構良好的5個特點JavaScript
- C語言標頭檔案組織與包含原則C語言
- UIStackView的基於功能組織程式碼拆分的一些猜想UIView
- 組織程式和資料
- Linux檔案的顏色程式碼Linux
- 跨平臺程式碼三種組織方式詳解
- 重構-改善既有程式碼的設計(六)–重新組織函式函式
- 織夢CMS(dedecms)的資料庫連線檔案_織夢連線資料庫檔案資料庫
- 織夢資料庫配置檔案-DedeCMS織夢資料庫檔案在哪裡資料庫
- Class檔案結構&位元組碼指令
- 位元組碼檔案結構詳解
- .NET C#基礎(6):名稱空間 - 組織程式碼的利器C#
- 位元組碼檔案的內部結構之謎
- MATLAB生成.coe檔案和.mif檔案程式碼示例Matlab
- 檢視織夢CMS原始碼中的資料庫相關檔案原始碼資料庫
- 程式碼安全之上傳檔案