文档章节

OC变量数据类型

阿元
 阿元
发布于 2015/09/04 19:14
字数 545
阅读 130
收藏 1
//
//  main.m
//  OC10变量数据类型
//
//  Created by Zoujie on 15/9/4.
//  Copyright (c) 2015年 Zoujie. All rights reserved.
//
enum flag
{
    FIREST,
    SECOND,
    THIRD,
    FOURTH=5,
    FIFTH,
    
}ENDOFDATA;

//未命名的枚举类型
enum {
    up,
    down,
    left = 10,
    right,

};

enum boolean
{
    no = 0,
    false = 0,
    yes = 1,
    ture = 1,
};

enum Month
{
    january = 1,
    february,
    march ,
    april,
    may ,
    june,
    july,
    august,
    september,
    october,
    november,
    december
};

typedef int  Counter;//增加了变量定义的可读性

typedef enum{
    east,
    west,
    north,
    south
}Direction ;


#import <Foundation/Foundation.h>
#import "Fraction.h"

typedef Fraction *  NumberObject;
typedef Fraction * FractionObj;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
    
        Fraction *myFtactin = [[Fraction alloc]init];
        
        [myFtactin setTo:10 over:20];
        
        Fraction *a = [[Fraction alloc]init];
        Fraction *b = [[Fraction alloc]init];
        
        [a setTo:1 over:3];
        [b setTo:3 over:7];
        
        [a print];
        [b print];
        
        NSLog(@"Fractions allocated :%i",[Fraction count]);
        a = [[Fraction allocF] init];
        b = [[Fraction allocF] init];
        Fraction *c = [[Fraction allocF] init];
        
        NSLog(@"Fractions allocated :%i",[Fraction count]);

        //枚举
//        enum flag {FIREST,SECOND,THIRD};
        switch (ENDOFDATA) {
            case FIREST:
                NSLog(@"first==%d",FIREST);
                break;
            case SECOND:
                NSLog(@"second");
                break;
            case THIRD:
                NSLog(@"third");
                break;
            case FOURTH:
                NSLog(@"fourth");
                break;
                case FIFTH:
                NSLog(@"fifth");
                break;
            default:
                break;
        }
        
        
        enum flag ONE,TWO;
        if (ONE){NSLog(@"ONE");};
        if (TWO){NSLog(@"TWO");};
        
        enum Month amoth;
        int days;
        NSLog(@"Enter month number:");
        scanf("%i",&amoth);
        
        switch (amoth) {
            case january:
            case april:
            case may:
            case june:
            case july:
            case august:
            case october:
            case december:
                days = 31;
                break;
            case march:
            case september:
            case november:
                days = 30;
                break;
            case february:
                days = 28;
                break;
            default:
                NSLog(@"bad month number");
                days = 0;
                break;
        }
        
        if (days != 0)NSLog(@"Number of days is %i",days);
        if (amoth == february)NSLog(@"...or 29 if it's a leap year");
        
        Counter  x = 2 , y = 3;
        NSLog(@"%d",x);
        
        NumberObject myValue1,myValue2,myValue3;//定义的三个Fraction对象
        
        Direction stpe1,stpe2;
        switch (stpe1)
        {
            case east:
                NSLog(@"%i",east);
                break;
                
            default:
                break;
        }
        
        FractionObj f1 = [[Fraction alloc]init];
        FractionObj f2 = [[Fraction alloc]init];
    }
    return 0;
    
    
}
//
//  Fraction.h
//  OC10变量数据类型
//
//  Created by Zoujie on 15/9/4.
//  Copyright (c) 2015年 Zoujie. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface Fraction : NSObject
{
    
}
@property (nonatomic ,assign) NSInteger a;
@property (nonatomic ,assign) NSInteger b;

-(void)setTo:(int)a over:(int) b;

-(instancetype)initWith:(int) a over:(int) b;//自定义初始化,所有的初始化方法都以init开头

-(void)print;

+(Fraction *)allocF;
+(int)count;
@end
//
//  Fraction.m
//  OC10变量数据类型
//
//  Created by Zoujie on 15/9/4.
//  Copyright (c) 2015年 Zoujie. All rights reserved.
//

#import "Fraction.h"
static int gGlobalVar = 0; //静态变量
static int gCounter;
@implementation Fraction

-(instancetype)init//重载init方法
{
    self = [super init];//首先调用父类的init方法
    if (self)
    {
        NSLog(@"111111");
    }
    return self;
}

-(Fraction *)initWith:(int) a over:(int) b
{
    self = [super init];
    if (self)
    {
        [self setTo:a over:b];
    
    }

    return self;
}

-(void)setTo:(int)a over:(int)b
{
    _a = a;
    _b = b;

}

-(void)print
{
    NSLog(@"%ld/%ld",_a,_b);
}

+(Fraction *)allocF
{
    extern int gCounter;
    ++gCounter;
    return [Fraction alloc];
}

+(int) count
{
    extern int gCounter;
    
    return gCounter;
}













@end


© 著作权归作者所有

阿元
粉丝 5
博文 163
码字总数 109777
作品 0
浦东
程序员
私信 提问
从 OC 到 Swift 的快速入门与专业实践

只会介绍与 OC 有明显区别的地方,不会介绍 OC 中没有的,比如元组。当前总结也只是蜻蜓点水而已,但是有 OC 的基础,看这些已经足够。 一、数据 Swift 是类型安全的语言: Swift 必须明确数...

CoderHG
2018/08/04
0
0
C/OC/Swift的数据类型没那么简单

数据类型决定了值如何存储到计算机内存中。在声明变量时也可指定它的数据类型。不同数据类型来存储不同的信息,所有变量都具有数据类型,以决定能够存储哪种数据。 C语言 C语言的基本数据类型...

CoderDancer
2017/08/10
0
0
Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下
2017/12/06
0
0
Swift-001-Swift简介及基础语法

1.Swift简介 2014年WWDC 发布的新开发语言,可与OC共同运行于Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。 swift2.0之后的语法则趋于稳定,2017年发布的swift4.0虽有改动,但也只是...

胡锦涛_Steven
2018/07/16
0
0
iOS OC动态运行时(runtime)~动态特性表现

//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄 一、概念: 因为运行时 runtime 是 必须到运行时(run time)才会做一些事情; 所以OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载;...

石虎132
2017/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
12
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
8
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
11
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部