如何声明枚举从一个对象传递到另一个对象

时间:2014-08-07 22:53:29

标签: ios objective-c c enums

我有两个对象:NavButton,在每个ViewController和一个特定的ViewController上可见。 NavButton应该知道,哪种ViewController要求它并隐藏不需要的按钮。我考虑将它实现为从ViewController传递枚举到NavButton 我有两个问题:
1.我应该在哪里宣布枚举? 2.如何在所有ViewControllers中显示枚举,因此,每个VC都可以访问NavButton的属性:self.navButton.kind = bigButton;

1 个答案:

答案 0 :(得分:1)

只需使用C标头模板+ nsenum宏扩展,瞧!

//
//  Header.h
//  Test
//
//  Created by Yours Truly on 8/7/14.
//  Copyright (c) 2014 Adam Christopher Smith. All rights reserved.
//

#ifndef Test_Header_h
#define Test_Header_h

typedef NS_ENUM(NSUInteger, MyEnum) {
    MyEnumValueA,
    MyEnumValueB,
    MyEnumValueC,
};

#endif

如果我有很多这些并且它们被应用程序的不同部分使用,我倾向于将相当多的文件粘贴到一个文件中(也许是Types.h)并将其放入我的pch中。相当可以接受的IMO。