`
daijun74
  • 浏览: 48877 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

iOS开发下的常量处理

 
阅读更多

最近开始要弄iPhone开发,赶鸭子上架,呵呵,没关系,咱是IT民工,搞得定的

 

由于本人有些编码风格癖,不能容忍字符串常量在代码中硬编码,所以IOS下的常量如何处理居然是我在写HelloWorld的时候就要考虑的事了,汗啊~

 

从网上找了此篇文章,较好,为了避免日后原文消失,特此转载。

原文地址:http://marshal.easymorse.com/archives/4149

 

------------------------------------------------------

 

在objc项目中使用常量的最佳实践

之前,在在objc项目中使用常量中,使用c的预处理#define来设置常量。比如,可以做个头文件,然后在需要的类文件中import,使用常量。

但这不是最佳实践。这样做可能是最好的方式,首先在比如叫Constants.h的头文件中:

#import <Foundation/Foundation.h>

extern NSString * const kInitURL;

@interface Constants : NSObject {

}

@end

这里使用到extern c关键字,表示这个变量已经声明,只是引用。const关键字表示变量是常量,不可修改。

在objc的约定里,常量也是大小写混排的驼峰命名规则,首字母小写,另外,第一个字母是k。

然后,在Constants.m文件中:

#import "Constants.h"

NSString * const kInitURL = @"http://marshal.easymorse.com";

@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 { 
    NSLog(@"load view: %@",kInitURL); 
}

使用这种方式,比通过宏预定义的优点是,可以对常量进行指针比较操作,这是#define做不到的。即:

[myURL isEqualToString:kInitURL];

分享到:
评论

相关推荐

    IOS开发指南(第5版) pdf下载地址

    《iOS开发指南(第5版)》是一本深入探讨iOS应用程序开发的专业书籍,旨在帮助开发者从零基础到熟练掌握Apple的移动操作系统上的应用构建过程。该书第五版更新了最新的开发技术和工具,确保读者能够使用最新的Xcode和...

    最好的ios开发书籍

    在IT行业中,iOS开发是一项备受追捧的技术,尤其对于那些对移动应用开发感兴趣的程序员。本文将深入探讨一本被誉为“最好的iOS开发书籍”的资源——《最好的iOS 5开发新手教程(第二版)副本》。这本书以其易懂性和...

    ios开发基础教程

    此外,事件处理机制,如触摸事件和手势识别,也是iOS开发中不可或缺的一部分。 App生命周期管理是iOS应用开发的核心部分。理解AppDelegate的作用,掌握不同应用状态(如Not Running、Inactive、Active、Background...

    精通IOS开发(第八版)

    《精通iOS开发(第八版)》是一本专为iOS初学者设计的权威指南,全面涵盖了Swift编程语言和最新的iOS开发技术。随着Apple公司不断更新其操作系统,iOS开发也在不断发展,这本书及时更新到了第八版,旨在帮助读者掌握...

    斯坦福大学ios开发iPhone教程

    《斯坦福大学iOS开发iPhone教程》是一套针对iOS应用程序开发的详尽教学资源,由世界知名学府斯坦福大学提供,旨在帮助学习者掌握iOS开发的核心技术和实践技能。本教程覆盖了从基础到高级的各个层面,对于想要踏入或...

    20天搞定iphone软件开发教程ios开发教程

    在本教程“20天搞定iPhone软件开发教程iOS开发教程”中,你将全面了解如何从零基础开始,一步步成为一名熟练的iOS应用开发者。这个教程可能是由一系列的课程、视频或者文档组成的,旨在帮助你在短时间内掌握iOS应用...

    iOS 开发总结

    在iOS开发领域,无论是初学者还是经验丰富的开发者,持续学习和总结都是非常重要的。这份"iOS开发总结"文档可能涵盖了从基础概念到高级技术的各种知识点,旨在帮助开发者提升技能和解决问题。 首先,iOS开发主要...

    精通iOS开发(第8版)_附源码.zip

    Swift的基础知识包括变量、常量、类型推断、函数、枚举、类与结构体、协议、扩展以及错误处理等,这些都是iOS开发的基石。书中将详细介绍这些概念,并通过实例演示如何在实际开发中运用。 其次,iOS开发离不开Xcode...

    ios开发90个实例源码苹果ios系统项目开发学习资料

    在iOS开发领域,掌握核心技术和实践经验至关重要。"ios开发90个实例源码苹果ios系统项目开发学习资料"提供了一套丰富的学习资源,适合初学者和有经验的开发者提升技能。这个压缩包包含90个不同的iOS应用实例,涵盖了...

    ios开发实例

    总结,"ios开发实例"涵盖的内容广泛,包括Swift语言基础、应用生命周期管理、UI设计与事件处理、网络编程、数据存储以及测试调试等多个方面。通过实践这些小项目,开发者可以加深对iOS开发的理解,提高自己的编程...

    ios开发从入门到精通pdf

    ### iOS开发从入门到精通 #### 一、iOS开发概述 在深入了解iOS开发之前,我们首先需要对iOS有一个基本的认识。iOS是由苹果公司为iPhone、iPad等设备开发的操作系统。自2007年首次发布以来,iOS已经成为全球最受...

    IOS开发指南5

    ### IOS开发指南5:基础知识与进阶技巧 #### 一、引言 《IOS开发指南5》是一本针对初学者的教程书籍,旨在通过由浅入深的方式带领读者步入iOS开发的大门。对于想要踏入iOS开发领域的学习者来说,本书不仅提供了...

    iOS开发电子书

    【iOS开发电子书】 在移动应用开发领域,iOS平台因其高度稳定性和优秀的用户体验而备受开发者喜爱。"iPhone开发秘籍.pdf"是一本专为想要掌握iOS开发技能的程序员准备的电子书,它深入浅出地介绍了如何利用Apple的...

    精通iOS开发(第8版)源码

    1. **Swift基础**:Swift是iOS开发的主要语言,源码中将展示变量、常量、类型推断、函数、枚举、类、协议等基础概念的应用。 2. **UIKit框架**:UIKit是iOS应用界面构建的核心,源码会涵盖UIViewController、UIView...

    《iOS 开发进阶》.唐巧.随书示例程序

    以上只是iOS开发的部分关键知识点,实际示例程序可能涵盖了更多内容,如MVVM架构、RxSwift响应式编程、SwiftUI、Core Animation、地图服务、音频视频处理等。通过研究这些示例,读者能够深化对iOS开发的理解,提升...

    从零开始学iOS7开发系列教程-事务管理软件开发实战

    首先,第一章通常会介绍iOS开发环境的搭建,包括安装Xcode IDE、设置iOS模拟器和真机调试环境。这一阶段还会讲解Swift编程语言的基础知识,如变量、常量、数据类型、控制流以及函数的使用,因为Swift是iOS7及以后...

    iOS 开发拼音分类

    在iOS开发中,拼音分类是一种常见的技术,尤其在实现通讯录应用的好友列表排序时非常有用。这个技术基于汉字的拼音首字母,使得用户可以通过字母快速定位到所需联系人,提高了用户体验。以下是对这一主题的详细说明...

    iOS开发规范指南.zip

    这份“iOS开发规范指南”涵盖了多个关键领域,包括编程语言、项目结构、命名约定、错误处理、性能优化以及用户体验设计等方面。下面我们将详细探讨这些知识点。 1. **Swift编程语言**: - 使用最新版本的Swift,...

    ios开发指南第五版

    ### iOS开发指南第五版知识点概览 #### 一、iOS开发环境搭建与配置 - **Xcode介绍**:Xcode是苹果公司为开发者提供的官方集成开发环境(IDE),支持iOS、macOS、watchOS和tvOS的应用开发。本书将详细介绍Xcode的...

    ios开发教程,iphone开发教程,苹果开发教程

    对于初学者来说,掌握Swift的基础语法,如变量、常量、函数、控制流以及面向对象编程的概念,是学习iOS开发的第一步。 Xcode是iOS开发的主要工具,它包含了代码编辑器、调试器、模拟器等功能,使开发者能够一站式...

Global site tag (gtag.js) - Google Analytics