gpt4 book ai didi

iOS 方法返回多个值 NSDictionary

转载 作者:行者123 更新时间:2023-11-28 19:05:54 25 4
gpt4 key购买 nike

我有一个方法可以计算任何给定日期的日出、中午和日落。我将日期作为 Julian 传递给方法。

该方法需要返回三个数字或字符串:Sunrise、Noon 和 Sunset。

我试着这样调用它:

ClassSolarCalculations *LINK = [[ClassSolarCalculations alloc] init];
NSString dateSunrise= [[NSString alloc] initWithFormat:@"%f", [LINK CalculateSunrise: Julian]];

方法是这样写的:

(NSDictionary *) CalculateSunrise: (double) Julian;

NSDictionary *returnTimes = [NSDictionary initWithObjectsAndKeys: SunriseText, @"Sunrise", NoonText, "@Noon", SunsetText, @"Sunset", nil];
return returnTimes;

我可以使用这种方法来返回单个值,但我想一次返回所有三个值,而不是通过三次调用例程的变体来捏造解决方案……

最佳答案

很多东西应该在这里改变:

  1. 方法名和变量名应以小写字母开头,并使用驼峰命名法。
  2. 重命名您的 CalculateSunrise: 方法,因为它将返回更多值。也许 calculateSunTimes:
  3. 由于您的方法返回一个 NSDictionary,因此您对返回的处理需要有所不同。

试试这个:

ClassSolarCalculations *link = [[ClassSolarCalculations alloc] init];
NSDictionary *times = [link calculateSunTimes:julian];
NSString *sunrise = times[@"sunrise"];
NSString *noon = times[@"noon"];
NSString *sunset = times[@"sunset"];

你的方法应该是这样的:

- (NSDictionary *)calculateSunTimes:(double)julian {
// calculate the three values:

return @{ @"sunrise" : sunriseText, @"sunset" : sunsetText, @"noon" : noonText };
}

注意现代 Objective-C 语法的使用。

关于iOS 方法返回多个值 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459272/

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