私は完了ブロックの中からビューを表示する方法について固執しています。完了ブロックの外で同じコードを使用すると、ビューが表示されます。私はブロックが実行されていると確信していると私はdidSet
にブロック内で使用する配列のsetNeedsDisplay
を持っています。それで私は何が欠けているのですか?補完ハンドラ内のプログラムビューを表示するにはどうすればよいですか?
private var storeViews = [UIView](){ didSet{self.view.setNeedsDisplay()}}
hrd.requestData(from: "somepage.php"){[weak self] (status:Bool,items:[[String:String]]?) in
if status
{
for var i in (0..<items!.count)
{
if let item = items?[i]
{
var shape = CGRect()
shape.size = CGSize(width: 50,height: 30)
let xPosStr = item["xPosition"]
let yPosStr = item["yPosition"]
let position = CGPoint(x: (self?.stringToFloat(xPosStr!))!,y: (self?.stringToFloat(yPosStr!))!)
shape.origin = position
let someView = UIView()
someView.frame = shape
someView.backgroundColor = UIColor.red
self?.view.addSubview(someView)
self?.someViews.append(someView)
}
}
}
}
あなたの質問は不明です。どのような意見を表示していますか?配列はtableviewを示す傾向があり、その場合、メイン・キューからreloadDataを呼び出す必要はありません。郵便番号。 –
私はCGRectを使用しているので、私はそれらを配列に格納しているので、配列にはsetNeedsDisplayを持つdidSetがあるので、いくつかの四角形を持つための画面が必要です – lestat
これまで持っているコードを追加できますか? –