iPadとPlaygroundsで学ぶ:「addSubview」でエラー!?
iPad+Playgrounds環境です。
UIButtonを複数表示させようと思い、for文でUIViewController.viewにaddSubviewするプログラムを書きました。
import UIKit class ViewController : UIViewController { override func viewDidLoad() { super.viewDidLoad() for i in 1..<12 { self.view.addSubview(UIButton()) } } } import PlaygroundSupport PlaygroundPage.current.liveView = ViewController()
実行してみるとaddSubview7回目で
このプレイグラウンドの実行中に問題が起きしました。コードに誤りがないか確認してください。
という表示が出て止まってしまいます。
色々調べるも情報が見つかりませんでした。
試しにUIViewを1つ作成し、そのUIViewへUIButtonをaddSubviewしたのち、UIViewController.viewにUIViewを設定するように変えてみました。
import UIKit class ViewController : UIViewController { override func viewDidLoad() { super.viewDidLoad() let mainView = UIView() for i in 1..<12 { mainView.addSubview(UIButton()) } self.view = mainView } } import PlaygroundSupport PlaygroundPage.current.liveView = ViewController()
今度は問題なく実行できました。 Playgroundsの制限かな?それともUIVewController.viewをそのまま使うのは良くないのかな?
いずれにしても、今後はUIViewを1つ作成してそこにaddSubviewするようにします。