I am trying to define a class that includes the closure to update its variables. Class definition:
class layout {name: string ware choHash: [string: string] var jungHash: [string: string] var jongHash: [string: string] update drawer: ( String: string), [string: string], [string: string] - & gt; (String: string), [string: strings], [string: strings], janghash: [string: string], zongahash: [string: string], updater: ([string: string], [string: string], [string: String] -> ()) {self.name = name self.choHash = choHash self.jungHash = jungHash self.jongHash = JongHash self.updater = updater} func update () - & gt; () {Self.updater (self.choHash, self.jungHash, self.jongHash) // Here error}}
So this is very similar to what I'm doing in Ruby, for example. However, XCode here shows an error:
'(@love [string: string], @lvalue [string: string], @lvalue [string: string] -> $ t8' is not the same ' (String: string), [string: string], [string: string] -> ()) '
I have two questions:
-
Why is it, and how can I solve this problem? In particular, why does it consider the statement as going to @lalveue [string: string] instead of [string: string]?
-
After the problem was solved, variables congress, Junghash and Jong hash were updated properly?
The problem is that type:
([string: string], [string: string], [string: string] - gt; ())
is not function type.
This is a 3-tupal with two dictionaries and one dictionary with zero functions.
If you want a function that has 3 dictionaries, then you need to:
([string: string], [string: string] ], [String: string]) - & gt; ()
If you type in the let
and in the init
argument, then it compile exactly.
She said, when you say:
What variable options, Chausash, Janghash and Jong hash will be updated properly?
The answer is - probably not. What are you expecting, when you call x.update
for the dictionaries in the x
call? If so, they will not be there (unless it is closed, a reference can be found back at x
) is passed from the dictionary value in Swift, so long as they are one No passwords are passed as inout
parameters, no functions can change, the values passed by the caller will change.
No comments:
Post a Comment