Так что я UIView я объявил во всем мире:Swift: могу ли я передать UIView в качестве аргумента, который я могу создать/изменить?
var speedView: UIView!
то у меня есть функция, которая принимает UIView в качестве аргумента и создает его:
func buildView(view: UIView!) -> UIView {
view = UIView(frame: CGRectMake(0, 0, 200, 100))
...
}
Это не работает потому, что view
аргумент автоматически устанавливается на let
, которую вы не можете изменить.
Обойти это можно определить как var view...
как это:
func buildView(var view: UIView!) -> UIView { ... }
Делая это технически работает, но позже, если я хочу пойти и изменить self.speedView
я не могу получить доступ к нему, потому что он никогда не был создан по этой функции.
Так что:
self.buildView(self.speedView)
не будет на самом деле создать self.speedView
я думаю.
Любые идеи, как я могу это сделать, имеют функцию, которая принимает некоторые глобально определенные представления в качестве аргументов, создает их, а затем я могу получить доступ к этим глобально определенным представлениям?
Почему вы определяете мнения по всему миру? – damian
'inout', возможно, вы ищете здесь? – holex
@damian, потому что я хочу получить доступ и изменить их позже. не только UIViews также UILabels – matt