プログラミング

プロおよび熱狂的プログラマーのためのQ&A

2
setNeedsLayoutとsetNeedsUpdateConstraintsおよびlayoutIfNeededとupdateConstraintsIfNeeded
自動レイアウトチェーンは基本的に3つの異なるプロセスで構成されることを知っています。 制約の更新 レイアウトビュー(ここでフレームの計算を取得します) 表示 何は、私には全く明らかではないとの内側の差です-setNeedsLayoutと-setNeedsUpdateConstraints。Apple Docsから: setNeedsLayout ビューのサブビューのレイアウトを調整する場合は、アプリケーションのメインスレッドでこのメソッドを呼び出します。このメソッドはリクエストを記録し、すぐに戻ります。このメソッドは即時の更新を強制せず、代わりに次の更新サイクルを待機するため、これらのビューを更新する前に、このメソッドを使用して複数のビューのレイアウトを無効にすることができます。この動作により、すべてのレイアウト更新を1つの更新サイクルに統合できます。これは通常、パフォーマンスの点で優れています。 setNeedsUpdateConstraints カスタムビューのプロパティが制約に影響を与える方法で変更された場合、このメソッドを呼び出して、将来のある時点で制約を更新する必要があることを示すことができます。次に、システムはupdateConstraintsを通常のレイアウトパスの一部として呼び出します。制約が必要になる直前に一度に更新することで、レイアウトパス間でビューに複数の変更が加えられたときに、不必要に制約を再計算する必要がなくなります。 制約を変更した後でビューをアニメーション化し、通常は変更をアニメーション化する場合は、たとえば次のようにします。 [UIView animateWithDuration:1.0f delay:0.0f usingSpringWithDamping:0.5f initialSpringVelocity:1 options:UIViewAnimationOptionCurveEaseInOut animations:^{ [self.modifConstrView setNeedsUpdateConstraints]; [self.modifConstrView layoutIfNeeded]; } completion:NULL]; すべてを使用するのでは-setNeedsLayoutなく-setNeedsUpdateConstraints期待どおりに機能する場合は、を使用して変更-layoutIfNeededする-updateConstraintsIfNeededとアニメーションが発生しないことがわかりました。 私は自分の結論を出そうとしました: -updateConstraintsIfNeeded 制約を更新するだけで、レイアウトを強制的に実行しないため、元のフレームは保持されます -setNeedsLayout-updateContraintsメソッドも呼び出す では、一方を他方の代わりに使用してもよいのはいつですか?レイアウトメソッドについては、制約が変更されたビューまたは親ビューで呼び出す必要がありますか?

9
git diffはサブプロジェクトがダーティだと言っています
git diffを実行したところ、約10個のサブモジュールすべてについて次の出力が得られます diff --git a/.vim/bundle/bufexplorer b/.vim/bundle/bufexplorer --- a/.vim/bundle/bufexplorer +++ b/.vim/bundle/bufexplorer @@ -1 +1 @@ -Subproject commit 8c75e65b647238febd0257658b150f717a136359 +Subproject commit 8c75e65b647238febd0257658b150f717a136359-dirty これは何を意味するのでしょうか?どうすれば修正できますか?

7
.hprofファイルを分析するにはどうすればよいですか?
次のフラグを使用して運用サーバーを実行しています:-XX:+ HeapDumpOnOutOfMemoryError 昨夜、サーバーでヒープエラーが発生したときにjava-38942.hprofファイルが生成されました。システムの開発者はフラグを知っていましたが、フラグから有用な情報を取得する方法がないことがわかりました。 何か案は?
227 java  profiling  heap 


8
RewriteBaseは.htaccessでどのように機能しますか
私はこれをいくつか見ました .htaccess例 RewriteBase / 機能的には、 <base href="">はHTMLです。 私はそれが自動的にその価値を最初に付加するかもしれないと信じています RewriteRuleステートメント(おそらくスラッシュのないもの)。 私はそれを適切に機能させることができませんでした。私はしばしば本番とは異なる開発サーバーを持っているので、サイトの移植性のために非常に便利になると思います。現在の方法では、自分の一部を削除しますRewriteRuleステートメントます。 誰でも簡単にそれを実装する方法を説明できますか? ありがとう

10
C ++ 11にはどのような重大な変更が導入されていますか?
古いコードのコンパイルを停止させるC ++ 11の変更の少なくとも1つはexplicit operator bool()、標準ライブラリに導入され、operator void*()。確かに、これが機能しなくなるコードはおそらく最初から有効ではなかったはずのコードですが、それでもなお重大な変更です。以前は有効であったプログラムはもはや機能しなくなりました。 他に重大な変更はありますか?
227 c++  c++11 

18
なぜswitchステートメントを文字列に適用できないのですか?
次のコードをコンパイルすると、のエラーが発生しましたtype illegal。 int main() { // Compilation error - switch expression of type illegal switch(std::string("raj")) { case"sda": } } switchまたはで文字列を使用することはできませんcase。どうして?文字列をオンにするのと同様のロジックをサポートするためにうまく機能する解決策はありますか?

8
PowerShellで長いコマンドを複数の行に分割する方法
PowerShellで次のようなコマンドを取得して、複数行に分割するにはどうすればよいですか? &"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web" -dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"
227 powershell 


8
JavaScriptのfocus()関数を使用して<div>にフォーカスすることは可能ですか?
&lt;div&gt;JavaScript focus()関数の使用に集中することは可能ですか? 私が持っている&lt;div&gt;タグを &lt;div id="tries"&gt;You have 3 tries left&lt;/div&gt; 私は&lt;div&gt;使用して上記に焦点を当てようとしています: document.getElementById('tries').focus(); しかし、それは機能しません。誰かが何かを提案できますか....?
227 javascript  focus 

6
すでにチェックインされているディレクトリの内容を無視しますか?
いくつかのプロジェクトで使用されるグラフィックスとサウンドファイルを保持するためだけに使用されるgitリポジトリがあります。それらはすべてサブディレクトリのない1つのディレクトリにあります。次に、これらのアセットを、いくつかのレベルのサブディレクトリを持つ別の構造化ディレクトリからコピーするスクリプトを作成しました。 ここで、(ソース)階層ファイル構造のみをgitで追跡し、(ターゲット)フラットディレクトリ(すべてのファイルが1つの山になっている)は無視する必要があります。 ターゲットディレクトリを.gitignoreに追加しましたが、gitはその中の変更を引き続き追跡しています。ターゲットディレクトリの古いファイルの削除をコミットすると、gitが新しいコンテンツ(スクリプトによってコピーされたもの)の追跡を停止する可能性があると思いましたが、そうではありません。 ターゲットディレクトリについてgitを忘れさせるにはどうすればよいですか?


12
Ansibleプレイブックを1台のマシンに安全に制限しますか?
コンピューターの小さなグループでの簡単なユーザー管理タスクにAnsibleを使用しています。現在、私はプレイブックを設定しhosts: allていて、hostsファイルは単一のグループであり、すべてのマシンがリストされています。 # file: hosts [office] imac-1.local imac-2.local imac-3.local 私は頻繁に1台のマシンをターゲットにしなければならないことに気づきました。このansible-playbookコマンドは、次のように再生を制限できます。 ansible-playbook --limit imac-2.local user.yml しかし、それは、特に潜在的に破壊的なプレイブックにとっては、壊れやすいもののようです。limitフラグを除外すると、プレイブックがどこでも実行されることになります。これらのツールはたまにしか使用されないので、間違いのない再生に一歩踏み出す価値があるように思われます。 プレイブックの実行を1台のマシンに制限するためのベストプラクティスはありますか?理想的には、いくつかの重要な詳細が省略された場合、プレイブックは無害である必要があります。


20
Rでベクトルをチャンクに分割する
ベクトルをRで同じサイズのn個のチャンクに分割する必要があります。これを行うための基本関数が見つかりませんでした。また、Googleは私をどこにも連れて行ってくれませんでした。だからここに私が思いついたものがあります、うまくいけばそれが誰かのどこかを助けるでしょう。 x &lt;- 1:10 n &lt;- 3 chunk &lt;- function(x,n) split(x, factor(sort(rank(x)%%n))) chunk(x,n) $`0` [1] 1 2 3 $`1` [1] 4 5 6 7 $`2` [1] 8 9 10 コメント、提案、改善は大歓迎です。 乾杯、セバスチャン
227 r  vector 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.