Ale*_*one 1 autoboxing core-data nsnumber ios ios5
来自Java,我非常习惯于自动装箱,其中int在需要时自动包装到Integer,并且Integer可以拆箱到基元中.在iOS5中有类似的东西我可以依赖吗?
目前,我正在使用核心数据,并且需要进行大量输入才能继续输入
number.intValue
//or
number.boolValue
Run Code Online (Sandbox Code Playgroud)
有没有办法直接在方程中使用NSNumber?例如:
int x = 5+ nsNumberInstance;
Run Code Online (Sandbox Code Playgroud)
此外,每次我需要在核心数据中重新分配一个数字时,我都会创建一个这样的新对象.
managedObject.dynamicProperty = [NSNumber numberWithInt: int];
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来改变已经创建的NSNumber的值?从现在起10年后,我可以用什么样的漂亮快捷方式来保存我自己的腕管?
谢谢!
实际上,当您使用数据模型并使用"创建NSManagedObject子类"菜单项时,可以选择标题为"使用基本数据类型的标量属性"的选项.
在许多情况下,这会自动为您处理.
这里有些例子:
BOOL:
@property (nonatomic, retain) NSNumber * aBool;
变成了
@property (nonatomic) BOOL aBool;
NSDate:
@property (nonatomic, retain) NSDate * aDate;
成为
@property (nonatomic) NSTimeInterval aDate;
整数32:
@property (nonatomic, retain) NSNumber * aNumber;
变成
@property (nonatomic) int32_t aNumber;
和
浮动:
@property (nonatomic, retain) NSNumber * aFloat;
成为
@property (nonatomic) float aFloat;
NSDecimalNumber和NSString保持不变.
如果已经生成了子类,则可以在先前生成的头文件中自行更改这些,并且访问器方法将自动更新,而无需重新生成子类.
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |