0

如何设置integer可以从 iOS 应用程序中的任何 ViewController 调用的?

例子:

第一视图控制器

int n;
n = 1;

第二视图控制器

- (void)viewDidLoad
{
    n = 3;
}

第三视图控制器

- (void)viewDidLoad
{
n=4
}

ForthViewController

- (void)viewDidLoad
    {
int a =0;

    a=n+10;
    }

当用户输入ThirdViewController然后ForthViewController. inta int将ForthViewController是 a=14。

4

2 回答 2

1

尝试使用单例,例如:

.h 文件

#import <Foundation/Foundation.h>

@interface SelectedView : NSObject {
NSInteger number;
}
@property (nonatomic) NSInteger number;

+ (SelectedView *) instance;

@end

你的 .m 文件

#import "SelectedView.h"

@implementation SelectedView

@synthesize number;

static SelectedView *sharedNumber = nil;

+ (SelectedView *)instance {
    @synchronized(self) {
        if(sharedNumber == nil)
            sharedNumber = [[self alloc] init];
    }

return sharedNumber;
}

+ (id)allocWithZone:(NSZone *)zone {
    @synchronized(self) {
        if(sharedNumber == nil) {
            sharedNumber = [super allocWithZone:zone];

            return sharedNumber;
        }
    }

    return nil;
}

- (id)copyWithZone:(NSZone *)zone {
    return self;
}

- (id)retain {
    return self;
}

- (unsigned)retainCount {
    return UINT_MAX;
 }

- (id)autorelease {
    return self;
}

那么当您希望实施时,只需:

#import "SelectedView.h"
SelectedView *board = [SelectedView instance];

NSInteger integer = board.number;
于 2013-02-04T06:10:15.027 回答
0

您可以在 AppDelegate 中创建一个公共变量/属性。要访问它:

[(AppDelegate *)[[UIApplication sharedApplication] delegate] setN:4];
于 2013-02-04T06:11:22.077 回答