Swift: Creating Plist Programmatically

It’s practical to use plist in files for iOS projects either to store configuration settings or to store any other information you may need in the execution of your application.

The plist or property list structure is key-value relation:



Before we try to generate the plist file we can check if the plist exists:

In case the file doesn’t exist:

To generate the plist file lets start with the content. In this case we are going to use the capitals of the states:

Now we are going to convert the dictionary content to NSDictionary:

With the content already in NSDictionary we can try to write to disk:

We can check if write to disk was successful

Please let me know if you have any questions by leaving a comment below or on twitter @luisemedr

Swift Fundamentals : Constants and Variables

In Swift there are two ways of storing data, one is using variables and the other is constants.


Swift Variables can be modified after you assign an initial value, but you can not change their type. The reason being, the variables are mutable. When you declare a variable they can infer the variable type.
For example:

the variable car is infered to be a string. Because the car is mutable the value can change:

After variables are defined you can not change their type:


Swift Constants are inmutable and they infer their type when you initialize the constant. For example:

year is inferred to be Int., year can not be modified either in the value or the type.

Static Typing and Type Inference

When you create a variable or a constant they can be a strong type or use type inference to determine the initial type.

Statically Typed

Being statically typed means that all your variables and constants MUST have their types declared in advance. Once you have declare (inferred) your variables and constants type cannot be change.

Type Inference / Strongly Typed

You can explicitly declare the type of your variable/constant but you don’t need to do this in Swift, it will infer the type if you assign the initial value. For example this is how you explicitly declare its type:

Another way of doing it would be

Please let me know if you have any questions by leaving a comment below or on twitter @luisemedr