В настоящее время я работаю над первым проектом Swift и делаю ошибки новичка.Почему этот код Swift получает ошибки?
Класс я работаю предназначен для экспорта трех своих методов глобальных переменных:
var getAngle:[AnyObject]!;
var getHours:[AnyObject]!
var getMinutes:[AnyObject]!;
class GpsViewController : UIViewController {
// ....
required init() {
// super.init();
formatter.dateFormat = "yyyy-MM-dd";
parser.locale = NSLocale(localeIdentifier: "en_US_POSIX");
parser.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZ";
getAngle = self.restrictToAngle;
getHours = self.restrictToHours;
getMinutes = self.restrictToMinutes;
}
func getHourAndAngle() { // Hour hand angle in radians from 12 o'clock position, clockwise.
var now = NSDate();
var today = now;
var todayFormatted = this.formatter(today);
var yesterday = today.dateWithTimeIntervalSinceNow(-24 * 60 * 60);
var yesterdayFormatted = this.formatter(yesterday);
var tomorrow = today.dateWithTimeIntervalSinceNow(24 * 60 * 60);
var tomorrowFormatted = this.formatter(tomorrow);
var yesterdaySunset = this.presentLocation[yesterdayFormatted]["sunset"];
var todaySunrise = this.presentLocation[todayFormatted]["sunrise"];
var todaySunset = this.presentLocation[todayFormatted]["sunset"];
var tomorrowSunrise = this.presentLocation[tomorrowFormatted]["sunrise"];
var duration = 0.0;
var position = 0.0;
var startingHour = 18;
var offset = 0.0;
if now.isLessThanDate(todaySunrise) {
length = todaySunrise.timeIntervalSinceDate(yesterdaySunset);
position = now.timeIntervalSinceDate(yesterdaySunset);
offset = -0.5;
} else if now.isLessThanDate(todaySunset) {
length = todaySunset.timeIntervalSinceDate(todaySunrise);
position = now.timeIntervalSinceDate(todaySunrise);
offset = 0.5;
startingHour = 6;
} else {
length = tomorrowSunrise.timeIntervalSinceDate(todaySunset);
position = now.timeIntervalSinceDate(todaySunset);
offset = 1.5;
}
var proportion = position/length;
var angle = M_PI + (2 * M_PI * (proportion + offset));
var hours = floor(24 * 60 * 60 * ((1 + proportion + offset) % 1.0)/(60 * 60));
var minutes = floor(24 * 60 * 60 * (1 + proportion + offset) % 60 * 60);
return ["angle": angle, "hour": hour, "minutes": minutes];
}
func restrictToHours() {
return getHoursMinutesAngle["hour"];
}
func restrictToAngle() {
return getHoursMinutesAngle["angle"];
}
func restrictToMinutes() {
return getHoursMinutesAngle["minutes"];
}
// ...
}
Я получаю несколько ошибок, в том числе в Init() 's присвоение GetAngle, «Ценность тип GpsViewController не имеет ограничения на членство ".
Не могли бы вы рассказать мне, какие здесь ошибки n00b?
По крайней мере, вы должны объявить тип возврата в 3-х функциях внизу, поскольку они явно что-то возвращают. – vadian
1. Что это такое? 2. В ваших методах возврата отсутствует обратная подпись. 3. Вы назначаете методы, а не вызываете их. – Moritz
@ EricD. возможно, это JavaSwift ;-) – vadian