gpt4 book ai didi

objective-c - 为什么不必初始化数字对象?

转载 作者:行者123 更新时间:2023-12-02 06:59:18 24 4
gpt4 key购买 nike

我今年在计算机科学类(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com