iOS typedef NS_ENUM 与 NSString

//在头文件中声明

typedef NS_ENUM(NSUInteger, TransactionState) {
    TransactionOpened,
    TransactionPending,
    TransactionClosed,
};

extern NSString * NSStringFromTransactionState(TransactionState state);
//在.m文件中实现

NSString * NSStringFromTransactionState(TransactionState state) {
  switch (state) {
    case TransactionOpened:
      return @"Opened";
    case TransactionPending:
      return @"Pending";
    case TransactionClosed:
      return @"Closed";
    default:
      return nil;
  }
}

参考资料:http://nshipster.com/c-storage-classes/

时间: 2024-10-12 13:05:16

iOS typedef NS_ENUM 与 NSString的相关文章

ios Enum Value To NSString

#define enumToString(value)  @#value eg. typedef NS_ENUM(NSInteger, Sex) { Male = 0, Famale = 1, }; NSString * string =  enumToString(Male); [email protected](@"string=%@", string); string=Male;

typedef NS_ENUM 等枚举介绍

枚举其实很重要,特别是在应用开发初期,服务器端数据格式需要更改得情况下,枚举和宏都能是程序简洁,并且改动小. 首先要知道的是,枚举值 它是一个整形(int) 并且,它不参加内存的占用和释放 枚举定义变量即可直接使用,不用初始化. 枚举的定义如下: typedef enum { //以下是枚举成员 TestA = 0, TestB, TestC, TestD }Test;//枚举名称 亦可以如下定义(推荐:结构比较清晰): typedef NS_ENUM(NSInteger, Test1) { /

iOS解决NSData转NSString后字符为空

iOS中,将NSData转NSString的一般方法为[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];但是当data中包含00时,所获得的新字符就会为nil,这时我们应该这样转 [NSString stringWithUTF8String:[data bytes]];

iOS中的字符串NSString

创建一个字符串对象: NSstring * str1 = @"hello world"; NSString * str = [[NSString alloc]initWithString:@"hello world!"]; NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串 int a = 123; NSString * s

黑马程序员-IOS笔记-Foundation之NSString、NSArray

下面我通过一道编程题:计算文件的代码行数,总结一下NSString.NSArray的使用方法. #import <Foundation/Foundation.h> /* path : 文件的全路径(可能是文件夹.也可能是文件) 返回值 int:代码行数 */ NSUIntegercodeLineCount(NSString *path) { // 1.获得文件管理者 NSFileManager *mgr = [NSFileManagerdefaultManager]; // 2.标记是否为文件

IOS成长之路-Nsstring中搜索方法rangeOfString

NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1这个字符串中搜索\n,推断有没有 if ([str1 rangeOfString:str].location != NSNotFound) { NSLog(@"这个字符串中有\n"); } //rangeOfString 前面的參数是要被搜索的字符串,后面的是要搜索的字符 //NSNotFound

IOS成长之路-Nsstring搜索方法rangeOfString

NSString *str1 = @"can you \n speak English"; NSString *str = @"\n"; //在str1该字符串搜索\n.它的结论是不存在 if ([str1 rangeOfString:str].location != NSNotFound) { NSLog(@"此字符串\n"); } //rangeOfString 在参数的前面是要搜索的字符串.返回搜索字符 //NSNotFound 它表示为一

ios常用的字符串NSString自动释放理解

最近在做程序的时候,突然发现对于NSString的理解还是存在问题的.因此补充一片blog,希望对刚刚进入OC开发并搞不清楚内存泄露问题的人一点指引. 赋值: NSString * str = @"123";   // 这段代码的含义其实就是附一个常量给str,该部分由系统自动管理,不需要release释放,是会autorelease的. NSString * str = [[NString alloc] initWithString :@"111"]; // 这种

iOS - 字符串(NSString)

/*________________________NSString(不可变字符串)________________________*/ //________________________1.字符串的创建___________________________________// //创建字符串常量 NSString *string1 = @"Hello";  //内容不变 string1 = @"Hello world"; //创建字符串 NSString *st