ios - Forced to use parameter names, but only some of them -


this question has answer here:

i'm new swift , i've read swift function documentation , far understand function has built way:

func funcname(param1:type, param2:type) -> return {     //whatever istructions } 

and has called way:

funcname(1, 2); 

very easy, , here original apple documentation:

func halfopenrangelength(start: int, end: int) -> int {     return end - start }  println(halfopenrangelength(1, 10)) // prints "9" 

so in last example when calling halfopenrangelength function don't have specify name of parameters (start , end).

so did function in xcode:

func assegnarisposte(uno:string, due:string, tre:string, quattro:string){     button1.settitle(uno, forstate: uicontrolstate.normal)     button2.settitle(due, forstate: uicontrolstate.normal)     button3.settitle(tre, forstate: uicontrolstate.normal)     button4.settitle(quattro, forstate: uicontrolstate.normal) } 

but when call way error missing argument lables 'due:tre:quattro:' in call:

assegnarisposte("davide", "andrea", "sergio", "roberto") 

and xcode fix imposes me way:

assegnarisposte("davide", due: tre: "andrea", "sergio", quattro: "roberto") 

so i'm forced place 3 of parameter names. if place first parameter (uno) throws error, have put due, tre , quattro

as far read can specify parameter names placing dash in front of parameter, , also, i'm not forced use them.

can explain me why this?

there difference between functions , methods in swift in naming, basically:

  • the default naming of functions there no external parameter names.
  • the default naming methods there external parameter names expect first parameter.

and can read differences between methods , functions here or here.

updated:

if don't want use external parameter names, should declare method like:

func assegnarisposte(uno:string, _ due:string, _ tre:string, _ quattro:string){ ... } 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -