作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我今年在计算机科学类(class)中学到了一点 Java 背景。我现在正在学习 objective-C。最近让我困惑的是数字对象。为什么不必初始化数字对象。看下面:
NSNumber *myFloat;
myFloat = [NSNumber numberWithDouble: 10.09];
当我们编写自己的对象时,它们总是需要如下初始化;
someObject x = [[someObject alloc]init];
那么这里为什么不同呢?是不是因为我们默认构建的对象有这种初始化方式?设计数字对象的程序员是否更改了数字对象的“初始化方式”?
最佳答案
它们被初始化。 numberWithDouble:
方法等同于调用 [[NSNumber alloc] initWithDouble:]
。以类似的方式,您可以使用 NSArray *array = [NSArray arrayWithObjects:object1, object2]
或 [NSArray *array = [[NSArray alloc] initWithObjects:object1, object2]
.
您还可以查看 this question关于此实现背后的原因。
关于objective-c - 为什么不必初始化数字对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24847706/
我是一名优秀的程序员,十分优秀!