美文网首页
Objective-C基本类型

Objective-C基本类型

作者: 橙子遇到八哥 | 来源:发表于2020-03-08 10:46 被阅读0次

OC特点:

  1. ObjC中没有命名空间(C#)或包(Java)的概念,那也就是说在同一个应用中不能同时存在两个完全相同的类名,通常情况下我们通过前缀加以区分,例如在ObjC中的NSString、NSLog中的NS就是前缀
  2. ObjC中很多关键字都是以@开头(例如@autoreleasepool、@interface、@protocol),另外需要注意的是为了区分C语言中的字符串,ObjC中的字符串也必须加上@

基础数据类型

char a='a';
int b=1;
float c=8.5;
double d=8.5e+12;
char e='a';
BOOL f=YES,g=NO;
id=object;                   //是一个对象类型,可以表示所有对象
NSString = @"test";  //Fundation框架中定义的字符串类型
NSLog(@"a=%c,b=%i,c=%f,d=%f,e=%c,f=%i,g=%i",a,b,c,d,e,f,g);
//结果:a=a,b=1,c=8.500000,d=8500000000000.000000,e=a,f=1,g=0

NSString *str=@"Hello,World!";
NSLog(@"str=%@",str); //结果:str=Hello,World!   
NSLog(@"object=%p",nil);//结果:object=0x0

枚举

普通类型

enum IssueStateTypes {
  IssueStateOpen,
  IssueStateClosed,
  IssueStateNotDetermined
};
enum IssueStateTypes IssueState;
// 赋值
IssueState = IssueStateOpen;

typedef 类型

##  typedef enum
typedef enum IssueStateTypes {
    IssueStateOpen,
    IssueStateClosed,
    IssueStateNotDetermined
} IssueStateTypes;

// 和下面效果一致。
enum IssueStateTypes {
    IssueStateOpen,
    IssueStateClosed,
    IssueStateNotDetermined
};
typedef IssueStateTypes IssueStateTypes;

apple 推荐类型NS_ENUM、 NS_OPTIONS

typedef NS_ENUM (NSInteger, IssueStateTypes) {
IssueStateOpen,
    IssueStateClosed,
    IssueStateNotDetermined
};
// 赋值
IssueStateTypes IssueState = IssueStateNotDetermined;
  1. 一篇文章学会typedef enum、NS_ENUM、NS_OPTIONS和移位1 << 0 https://www.jianshu.com/p/dc26d719cc03

相关文章

网友评论

      本文标题:Objective-C基本类型

      本文链接:https://www.haomeiwen.com/subject/ljnbuqtx.html