완료 블록 내부에서보기를 표시하는 방법에 대해 고민하고 있습니다. 완료 블록 외부에서 동일한 코드를 사용하면보기가 표시됩니다. 블록이 실행되고있는 것입니다. 또한 블록 안에 사용할 배열의 경우 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를 가리키는 경향이 있는데,이 경우 main que에서 reloadData를 호출 할 필요가 없습니다. 우편 번호. –
CGRect를 사용하고 있으며 배열에 배열을 저장하고 있으므로 배열에 setNeedsDisplay가있는 didSet이 있으므로 화면에 사각형이 있어야합니다. – lestat
지금까지 가지고있는 코드를 추가 할 수 있습니까? –