iOS 在objc專案中使用常量的最佳實踐

2021-08-03 11:43:06 字數 1327 閱讀 6228

之前,在在objc專案中使用常量中,使用c的預處理#define來設定常量。比如,可以做個頭檔案,然後在需要的類檔案中import,使用常量。

但這不是最佳實踐。這樣做可能是最好的方式,首先在比如叫constants.h的標頭檔案中:

#import extern nsstring * const kiniturl;

@inte***ce constants : nsobject

@end

這裡使用到extern c關鍵字,表示這個變數已經宣告,只是引用。const關鍵字表示變數是常量,不可修改。

在objc的約定裡,常量也是大小寫混排的駝峰命名規則,首字母小寫,另外,第乙個字母是k。

然後,在constants.m檔案中:

#import "constants.h"

nsstring * const kiniturl = @"";

@implementation constants

@end

在這裡給常量kiniturl賦值。

如何使用常量?只需在所需的m檔案引入constants標頭檔案,下面是使用示例:

#import "basicdemosviewcontroller.h"

#import "constants.h"

@implementation basicdemosviewcontroller

// implement loadview to create a view hierarchy programmatically, without using a nib.

- (void)loadview

使用這種方式,比通過巨集預定義的優點是,可以對常量進行指標比較操作,這是#define做不到的。即:

[myurl isequaltostring

:kiniturl];

from:/archives/4149

是指可用於全域性的常量。如果只是在檔案內部使用,不希望之外的地方能訪問到,就需要:

#import "basicdemosviewcontroller.h"

#import "constants.h"

nsstring * const kmyurl=@"";

@implementation basicdemosviewcontroller

// implement loadview to create a view hierarchy programmatically, without using a nib.

- (void)loadview

iOS 在objc專案中使用常量的最佳實踐

之前,在在objc專案中使用常量中,使用c的預處理 define來設定常量。比如,可以做個頭檔案,然後在需要的類檔案中import,使用常量。但這不是最佳實踐。這樣做可能是最好的方式,首先在比如叫constants.h的標頭檔案中 import extern nsstring const kinit...

在專案中使用ExtJS

今天extjs官網發布了extjs最新正式版4.2.1。extjs為開發者在開發富客戶的b s應用中提供豐富的ui元件,具有統一的主題,便於快速開發,提高效率。但顯然它並不適合互聯 的開發。builds 壓縮後的extjs 體積更小,更快 docs 開發文件 examples 官方演示示例 loca...

在專案中使用springmvc

springmvc是spring框架的乙個模組,springmvc和spring無需通過中間整個層進行整合,它是乙個基於mvc的web框架。springmvc是基於方法開發的,struts2是基於類開發的。springmvc將url和controller方法對映,對映成功後springmvc生成乙個...