亲爱的所有人。 我需要在代码中保留一些临时信息。当我访问它时,我立即复制我的类,接收结果为MutableArray,但我必须在其他方法的代码中使用此数组。 我不喜欢再次做我的课的副本,这需要内存和处理器时间,但我必须在其他方法中使用其余的数组。 目前我保持它在阵列控制器,但我想找到其他更好的方法。 由于某些原因,我不喜欢将指针指向此MutableArray作为方法的参数。 ProjectArrays.h:保持数组在代码中的最佳方式
#import <Cocoa/Cocoa.h>
@interface ProjectArrays : NSObject {
NSMutableArray *myMutableArray;
}
@property (nonatomic, retain) NSMutableArray *myMutableArray;
+(ProjectArrays *)sharedProjectArrays;
@end
ProjectArrays.m:
#import "ProjectArrays.h"
#import "SynthesizeSingleton.h"
@implementation ProjectArrays
SYNTHESIZE_SINGLETON_FOR_CLASS(ProjectArrays)
@synthesize myMutableArray;
- (void)dealloc {
// Clean-up code here.
[myMutableArray release];
[super dealloc];
}
@end
AppDelegate.m:
[[ProjectArrays sharedProjectArrays].myMutableArray addObject:@"Test"];
NSLog (@"This is test first point:%@",[[ProjectArrays sharedProjectArrays].myMutableArray objectAtIndex:0]);
2010-11-21 19:26:18.636雪[14523:A0F]这是测试的第一点:(null)
看起来像代码不能关心对象。
你能解释一点吗?我是新手在objective-c。 – Alex 2010-11-10 09:23:48
您应该创建一个包含'NSMutableArray * myMutableArray'属性的单例类。要创建这样一个类,您应该在我提供的链接中包含一个头文件,然后在其'@ implementation'部分调用'SYNTHESIZE_SINGLETON_FOR_CLASS(YourSingletonClassName)',然后可以调用'[YourSingletonClassName sharedYourSingletonClassName] .myMutableArray'你的项目的任何地方(不要忘记包含'YourSingletonClassName.h'只要你想使用你的单身人士)。现在有点清楚了吗? – knuku 2010-11-10 09:46:08
我可以在这个头文件中声明myMutableArray? – Alex 2010-11-10 16:08:39