2017-05-09 15:58:19 h1101723183 阅读数 5301
  • 4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5...

    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。

    13811 人正在学习 去看看 朱有鹏

定义字符串常量

我们需要使用一些私有的常量,正常在.m文件中声明,也可以在.h中定义全局常量。

/// 显示远程推送内容
static NSString * const ShowRemoteNotificationContentKey = @"ShowRemoteNotificationContentKey";

/// 刷新裸车毛利数据
static NSString * const RefreshDealerGrossProfitNotificationKey = @"RefreshDealerGrossProfitNotificationKey";

/// 需要重新登录
static NSString * const ReLoginNotificationKey = @"ReLoginNotificationKey";

/// 刷新竞品价格数据
static NSString * const RefreshCompetitivePricesNotificationKey = @"RefreshCompetitivePricesNotificationKey";

正常公开的字符串常量定义方式是使用extern关键字,不建议使用#define。

  • 在.h文件中定义
/// 用户Token Key
extern NSString * const QXUserTokenKey;

/// 用户UUID
extern NSString * const QXUserUUIDKey;

/// 用户所在的城市
extern NSString * const QXUserCityKey;

/// 第一次启动应用
extern NSString * const QXFirstLaunchKey;
  • 在.m文件中
/// 用户Token Key
NSString * const QXUserTokenKey = @"com.qianxx.user.token";

/// 用户UUID
NSString * const QXUserUUIDKey = @"com.qianxx.user.uuid";

/// 用户所在的城市
NSString * const QXUserCityKey = @"com.qianxx.user.city";

/// 第一次启动应用
NSString * const QXFirstLaunchKey = @"com.qianxx.user.isFirstLaunch";
2013-06-30 22:55:09 annkie 阅读数 6564
  • 4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5...

    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。

    13811 人正在学习 去看看 朱有鹏

新建一个Constants.h文件:

//
//  Constants.h
//  HelloWorld
//

//声明常量
//export global constants
FOUNDATION_EXPORT NSString *const KEY_USER_NAME;

FOUNDATION_EXPORT const int RETRY_COUNT;


新建Constants.m

//export global constants

NSString *const KEY_USER_NAME = @"user_name";

const int RETRY_COUNT = 3;

HelloWorld-Prefix.pch文件中增加:

//
// Prefix header for all source files of the 'HelloWorld' target in the 'HelloWorld' project
//

#import <Availability.h>

#ifndef __IPHONE_5_0
  #warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
  #import "Constants.h"  //增加改行,引入全局常量
#endif

引用常量的地方直接使用常量即可:

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    NSLog(@"key is %@,count is %d",KEY_USER_NAME,RETRY_COUNT);
}

2013-06-30 22:48:06.633 HelloWorld[1665:c07] key is user_name,count is 3




2016-01-19 10:17:51 ghqiang112358 阅读数 534
  • 4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5...

    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。

    13811 人正在学习 去看看 朱有鹏

iOS中一种定义静态常量的方法如下;在.h文件中

@interface AppConfig : Bean

extern  NSString*__nonnull const APPID;

extern  NSString*__nonnull const PROJECT_NAME;

extern  NSString*__nonnull const HOSTNAME;

extern  NSString*__nonnull const SERVERNAME;

@end


然后在.m文件中:

@implementation AppConfig

NSStringconst APPID =@"1059964988";

NSStringconst PROJECT_NAME =@"SCM";

NSString const HOSTNAME = @"http://scm.hyhscm.com";

NSStringconst SERVERNAME =@"";

//NSString*  const HOSTNAME=@"http://192.168.8.100:8080";

//NSString*  const SERVERNAME=@"scm";

@end


这对于app开始的一些服务器地址,appid等,改变就很方便。

而宏定义的写法如下:

#define API_BASE_USER_LOGIN [NSString stringWithFormat:@"%@/%@",API_BASE_USER,@"login"]


引用的话直接导入头文件,然后写:API_BASE_USER_LOGIN,就可以了。

2013-01-16 11:36:55 h3c4lenovo 阅读数 8663
  • 4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5...

    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。

    13811 人正在学习 去看看 朱有鹏

    我们知道在IOS工程里用Prefix.pch文件可以做一些预编译的操作,比如引入全局头文件和定义常量。

    今天准备写一个Demo的时候遇到一个不可思议的问题,就是不管我怎么弄,在pch文件中引入头文件就是报错,说找不到那个文件,可是文件名我都是用自动辅助功能打出来的怎么可能找不到呢。

    再详细的分析之后发现问题在于我乱用了括号……

    我们正常引入文件的方法为:

    import "xxx.h"

    而我引入文件的时候是复制之前系统默认引入系统包的方式:

    import <xxx.h>

    就是这个尖括号引发的血案啊,尖括号表示引用的是系统包,双引号才是引入项目文件夹中的内容 ,所以当然编译的时候会报错。

2019-11-29 20:54:14 qq_36451221 阅读数 9
  • 4.5.数组&字符串&结构体&共用体&枚举-C语言专题第5...

    本课程综合讲解了数组、字符串、字符数组、结构体定义及使用、结构体对齐、复杂结构体结合指针、共用体定义及使用、大小端模式、枚举常量及其与宏定义的关联。通过本部分共15节课的理论讲解加代码实战,希望大家能够对以上知识点有更深入的理解。

    13811 人正在学习 去看看 朱有鹏

常用常量宏定义

#ifndef Defines_h
#define Defines_h
//常用常量

#define IS_AllScreen (([UIScreen mainScreen].bounds.size.height==812)||([UIScreen mainScreen].bounds.size.height==896) ? YES : NO )

#define KScreenWidth [UIScreen mainScreen].bounds.size.width
#define KScreenHeigh [UIScreen mainScreen].bounds.size.height

#define KStatusHeight (IS_AllScreen ? (44.0f) : (20.0f))
#define KNavHeight  44.0f
#define KHeadHeight  (IS_AllScreen ? (88.0f) : (64.0f))
#define KTabHeight  (IS_AllScreen ? (83) : (49))
#define KSafeBottom  (IS_AllScreen ? (34) : (0))

#define ISiPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

#define KSafeScale (ISiPhone5 ? (0.852f) : (1.0f))

#define ROOT_PATH [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]

#define FirstRun        @"FirstRunApp"

#endif /* Defines_h */

2015-8-12

阅读数 6

iOS常量创建

阅读数 623

没有更多推荐了,返回首页