title: How should my type habits change in swift?
body: <p>I'm getting started in swift by converting some of my old Obj-C libraries. It's honestly kind of painful, and I'm wondering if my habits are bad or something since everything I've read has talked about how easy it is to pick up swift. Specifically:</p>
  
  <ul>
  <li>No implicit type conversion clutters up code, and makes things like multiplying by a for loop counter less convenient. Is there a better way to deal with this?</li>
  <li>Array use is also kind of verbose. Are there any shorter ways to use Arrays as arguments, or to declare an empty array like below?</li>
  <li><p>Naming functions in general seems harder compared to the sentence like structure Obj-C allowed. Do most developers requires an external parameter name for the first argument in functions with more than one argument?</p>
  
  <pre><code>func colorsAlongArray(colorArr:Array&lt;UIColor&gt;, steps:Int) -&gt; Array&lt;UIColor&gt;
  {
      let arrCount = colorArr.count
      let stepIncrement = Double(arrCount)/Double(steps)
      var returnArr : Array&lt;UIColor&gt; = []
  
      for i in 0..&lt;steps
      {
          let stepVal = stepIncrement*Double(i)
          let stepFactor = CGFloat(fmod(stepVal, 1.0))
          let stepIndex1 = Int(floor(stepVal/1.0))
          var stepIndex2 = Int(ceil(stepVal/1.0))
  
          if(stepIndex2 &gt; arrCount-1)
              {stepIndex2 = arrCount-1}
          let color1 = colorArr[stepIndex1]
          let color2 = colorArr[stepIndex2]
  
          let color = colorByInterpolatingColors(color1, color2: color2, factor: stepFactor)
          returnArr += [color]
      }
  
      return returnArr
  }
  </code></pre></li>
  </ul>