iOS:保存到数据结构
我想创建一个NSObject类,我可以使用它的实例并保存到它的变量中,然后将它的数据传递到其他地方(NSManagedObject)。除了创建从NSObject继承的新Object-C类之外,我还需要做其他事情吗。在.h中创建变量,在.m中合成 i、 e: 我的.h文件:iOS:保存到数据结构,ios,objective-c,data-structures,Ios,Objective C,Data Structures,我想创建一个NSObject类,我可以使用它的实例并保存到它的变量中,然后将它的数据传递到其他地方(NSManagedObject)。除了创建从NSObject继承的新Object-C类之外,我还需要做其他事情吗。在.h中创建变量,在.m中合成 i、 e: 我的.h文件: #import <Foundation/Foundation.h> @interface MyDataClass : NSObject @property (nonatomic, retain) NSNumber
#import <Foundation/Foundation.h>
@interface MyDataClass : NSObject
@property (nonatomic, retain) NSNumber *variable1
@property (nonatomic, retain) NSString *variable2
@property (nonatomic, retain) NSDate *variable3
@end
我希望能够在SomeViewController中执行以下操作:
@property (nonatomic, strong) MyDataClass *newDataClass
@systhesize newDataClass;
newDataClass.variable1 = @"123457890";
newDataClass.variable2 = @"This is the new Variable";
newDataClass.variable3 = [NSDate date];
在创建此类的实例时,是否还需要执行其他操作来初始化每个变量?我遗漏了什么吗?这就是要用于存储数据的自定义对象所需的全部内容 当然,当您使用它时(在
SomeViewController
中),您需要在开始设置变量之前实际创建类的实例:
self.newDataClass = [[MyDataClass alloc] init];
我也会使用
self.newDataClass
而不仅仅是newDataClass
,除非你有理由不这样做。我不确定你到底想做什么。是否要创建用于存储数据的自定义NSManagedObjectClass?谢谢!最后一个问题,一旦我处理完这个实例并想要删除/清除它,我应该只执行newDataclass=NULL?与直接使用合成属性newDataClass相比,self.newDataClass有什么优势?实际上,我会更进一步,习惯于使用自动合成的下划线变量以及“new”帮助程序,它与alloc]init]做的事情相同_newDataClass=[MyDataClass new];是的,因为这是一个strong
声明的属性,所以当您使用完它时,应该将其设置为nil
,它将释放对象。使用self.
调用setter/getter(视情况而定),并在将来需要更改默认行为时使其变得容易。例如,如果每次更改另一个变量时都需要更新该变量,则可以将其添加到一个位置(在自定义setter中),这将自动发生,而无需查找更新的每个位置并将其添加到该位置。有关使用self.
的更多详细信息,请参阅以下问题:(尤其是投票最多的答案,而不是公认的答案)。
self.newDataClass = [[MyDataClass alloc] init];