2015-03-03 2 views
-2

, так что я только начинаю учить себя немного ios и являюсь абсолютным любителем (пожалуйста, не будьте слишком суровыми и прощайте вопросы, ответы на которые могут быть очевидны). поэтому я хотел бы получить этот следующий код для работы:Сделайте «int» и «float» работа в быстрой игровой площадке

var int bildBreite; 
var float bildHoehe, bildFlaeche; 
var bildBreite = 8; 
var bildHoehe = 4.5; 
var bildFlaeche = bildBreite * bildHoehe; 

но получить ошибки, как видно на this screenshot here (ссылка: http://prntscr.com/6cdkvv)

относительно экрана: не следует путать с «6» на очень правая строка 10, это было потому, что перед «4.5» это говорилось «6».

также, это игровая площадка xcode и код, который я пытаюсь сделать, из справочника для начинающих c, если это помогает. (вся эта быстрая и объективная c-смесь слишком запутанна)

Я бы очень признателен за ответ, и если у вас возникнут дополнительные вопросы, чтобы правильно разобраться, я с удовольствием отвечу как можно быстрее.

все лучшее

Лев

+1

ли вы скачать книгу Swift? Вам не хватает некоторых фундаментальных основ языка. И поскольку вы используете имена переменных в Германии, вы также можете сделать это правильно и написать boldHöhe и bildFläche. – gnasher729

+0

Нет, я загрузил немецкий объективный справочник под названием «Станьте Xcoder - Programmieren mit dem Mac в Objective-C». Я думал, что сначала начать изучение цели-c, а затем переключиться на Swift - это лучший способ сделать, поскольку Swift по-прежнему относительно новый. Вы бы посоветовали мне напрямую изучить Свифт? – Gordon

+0

По крайней мере, вы должны получить книгу о Swift, чтобы ее использовать, когда на игровой площадке Swift, потому что она не принимает объектив-c ... – holroy

ответ

2

Давайте пройдемся по коду:

var int bildBreite; 
var float bildHoehe, bildFlaeche; 

Вы пытаетесь установить типы некоторых переменных не-быстрая. Чтобы объявить переменные определенного типа, вы должны добавить тип после имя переменной: var bildBreite: Int Также обратите внимание, что имена классов и структур в Swift начинаются с заглавной буквы, как отмечалось в @blacksquare.

var bildBreite = 8; 
var bildHoehe = 4.5; 

Здесь, похоже, вы пытаетесь повторно объявить переменные. Это запрещено.

var bildFlaeche = bildBreite * bildHoehe; 

Вы пытаетесь умножить данные между двумя разными типами номеров. Это не разрешено в Swift. Чтобы на самом деле выполнить какую-либо математическую работу, вам нужно будет преобразовать ее в один и тот же тип, как и другой.

Эта версия должна работать:

var bildBreite: Int; 
var bildHoehe: Float; 
var bildFlaeche: Float; 
bildBreite = 8; 
bildHoehe = 4.5; 
bildFlaeche = Float(bildBreite) * bildHoehe; 

Следующий кодом является более краткой версией коды:

// Inferred to be an Int 
var bildBreite = 8 
// This forces it to a Float, otherwise it would be a Double 
var bildHoehe: Float = 4.5 
// First, we convert bildBreite to a Float, then times it with Float bildHoehe. 
// The answer is inferred to be a Float 
var bildFlaeche = Float(bildBreite) * bildHoehe 
+0

Вау, я бы не ожидал такого хорошего ответа так быстро. этот форум потрясающий! – Gordon

1

int должны быть Int и float должны быть Float. Классовые и примитивные имена в Свифте всегда начинаются с заглавной буквы.

Чтобы объявить переменную в Swift, вы делаете это:

var variableName: Int = intValue 

Или вы можете позволить компилятор решить тип для вас:

var variableNameA = 1 
var variableNameB = 1.5 

Если вы хотите объявить переменную и затем назначьте его позже, вы используете опциональную или неявно развернутую опцию:

var variableNameA: Int? 
var variableNameB: Int! 
variableNameA = 1 
variableNameB = 2 

var variableNameC = variableNameA! + variableNameB 

Как вы можете видеть f в последнем примере variableNameA является необязательным (это означает, что он может иметь нулевое значение, поэтому он должен быть развернут перед использованием с помощью оператора !; неявно развернутый необязательный, как variableNameB, не нужно разворачивать, но он менее безопасен и должен использоваться с осторожностью.

Обратите внимание, что вы используете только var, когда вы впервые объявляете переменную.

Удачи вам!

+1

И вы должны использовать Double, если у вас нет веской причины не делать этого. – gnasher729

+0

Вы можете объявить имя переменной и тип и не назначать ей. Вам просто нужно назначить значение, прежде чем использовать его. – MaddTheSane

+0

@ gnasher729 где именно я бы написал двойной и просто «двойной» или в скобках? Если это звучит глупо, не стесняйтесь сказать, что я должен просто прочитать конкретную книгу, прежде чем спрашивать, и все в порядке. – Gordon

0
var bildBreite:Int = 8 
var bildHoehe:Float = 4.5 
var bildFlaeche:Float = bildBreite * bildHoehe 

Вам не нужны полные двоеточия. Вам нужно не пытаться применять Java или любой другой язык, чтобы это узнать синтаксис, и вы будете хорошо

Смежные вопросы