IBInspectableを使ったらエラーが出た

IBInspectableを使うとInterfacebuilderがよしなに表示を変えてくれるとかいうのは知ってた(試しに使ったことはあった程度だった)けど、IBInspectableを使っているライブラリがあったので使ってみた。 IB Designables Failed to render instance of XXX: Rendering the view took longer than 200ms. Your drawing code may suffer from slow... こんな感じのエラーが出た。xibファイルが無駄に複雑で巨大なせいでレンダリングが遅い画面だったけど、IBInspectableを使った結果余計なエラーが出るようになった。 もちろんビルドには問題ない。ただ気持ち悪いだけで。

NSLayoutConstraint.constantの値を変更してビューのサイズを取得した

フラグでNSLayoutConstraint.constantの値を変更してscrollViewのcontentSizeを変更する、ということをしようとしたけどうまくいかなかった。 CGRectGetMaxY()の時点では_childView.frameにはconstraintの値が反映されてなかった。 だいたいの処理の流れ(適当) - (void)updateConstraint { if ([self isHidden]) { _childViewConstraint.constant = 100.f; } else { _childViewConstraint.constant = 0.f; } CGRect frame = _mainView.frame; frame.size.height = CGRectGetMaxY(_childViewConstraint.frame); _mainView.frame = frame; CGSize cont

NSURLSessionでBasic認証する

どうせ1つのアプリで複数のBasic認証することなんて無いっしょ とか思いつつも使い回しがききそうな実装を考えたのでメモ 1. requestのURLはhttp://user:[email protected]みたいにユーザとパスワードも記載しておくとする 2. NSURLSessionTaskのcompletionHandlerは使わないでdelegateを使用する 3. WWW-Authenticateのrealmを取得 4. 認証するURLに対してcurl -vとかリクエストして401レスポンスを取得 5. 今回はこんなレスポンスが来ていたWWW-Authenticate: Basic realm="Login Required" 6. 該当realmはLogin Required 7. delegateメソッド- URLSession:didReceiveChallenge:completionHandler:を実装する 8. - URLSession:didReceiveChallenge:completionHandler: - (void)