Home » Swift » Same datatype multiple variable declaration in swift

Same datatype multiple variable declaration in swift

Posted by: admin November 30, 2017 Leave a comment

Questions:

in objective-c we can declare variable like
NSString *a,*b,*c;

in swift there a way to declare same datatype multiple variable variable rather than doing like below

var a: NSString = ""
var b: NSString = ""
var c: NSString = ""

So, is it possible to declare all a,b,c variable into one line like
var (a,b,c): a:NSstring=("","","") or something?

Answers:

You can declare multiple constants or multiple variables on a single
line, separated by commas:

var a = "", b = "", c = ""

NOTE

If a stored value in your code is not going to change, always declare
it as a constant with the let keyword. Use variables only for storing
values that need to be able to change.

Type Annotations:

You can define multiple related variables of the same type on a single
line, separated by commas, with a single type annotation after the
final variable name:

var red, green, blue: Double

NOTE

It is rare that you need to write type annotations in practice. If you
provide an initial value for a constant or variable at the point that
it is defined, Swift can almost always infer the type to be used for
that constant or variable, as described in Type Safety and Type
Inference.

Documentation HERE.

Questions:
Answers:

Do it like this

var a,b,c:NSString

You can see the type from PlayGround,or XCode

Questions:
Answers:

Swift has an odd design decision here. Placing a type on a variable affects all previous non-explicitly typed variables in a multi-line definition. Same for constants.

These two lines are equivalent (a, b and c are Double):

var a, b, c: Double
var a: Double, b: Double, c: Double

And these two are equivalent (a and b are Int, while c and d are Double):

var a, b: Int, c, d: Double
var a: Int, b: Int, c: Double, d: Double