プロジェクトノート
4064 ワード
uisearchContorllerディスプレイ画面
edgesForExtendedLayoutプロパティ
UINavigationControllerなどの境界コンテナを統合したコントローラにのみ適しています.
Layout Feedback Loop Debugging
1.(setNeedsLayoutが呼び出された各情報を記録)-U I v i e w LayoutFeedbackLoopDebuggingThreshold 100//50...1000 -NSViewLayoutFeedbackLoopDebuggingThreshold 100//50...1000 2.グローバルな異常ブレークポイントexception break pointを打つ.po [_UIViewLayoutFeedbackLoopDebugger layoutFeedbackLoopDebugger]
アドレスに基づいて質問を検索
Edit Scheme、Tab Aguments構成環境変数MallocStackLoggingNoCompact NSZombieEnabled MallocStackLogging shell malloc_に切り替えますhistory 40888 0 x 6497860|grep 0 x 6497860「アクティブモニタ」を開き、プロセスリストでテストAPPに対応するプロセス番号PID Xcodeを見つけてデバッグを有効にすると、プロセスリストに対応するAPPのプロセスが見つかる)端末にsudo malloc_を入力history PIDメモリアドレス
swiftマクロ
swift xib読み出し
差
initWithNibNameメソッド:遅延ロードです.このViewのコントロールはnilで、表示が必要になるまでnilではありません.loadNibNamedは直ちにロードされ、このメソッドを呼び出すロードされたxibオブジェクトの各要素はすでに存在する.
pod互換swift 3.0
削除操作を簡単に実行
[makeObjectsPerformSelector: removeFromSuperView]
ソースファイルのコンパイル
clang -rewrite-objc xxx.m
クラスと分類におけるloadのロードメカニズム
1)、クラスloadでは分類のメソッドを呼び出すことができる.categoryをクラスに付加する作業は+loadメソッドの実行より先になるからである.2)、+loadの実行順序は先クラス、後categoryであり、categoryの+loadの実行順序はコンパイル順序によって決定される.
iOS 9 HTTPが正常に使用できない解決方法
Info.plistにNSAppTransportSecurityタイプDictionaryを追加します.NSAppTransportSecurityでNSAllowsArbitraryLoadsタイプBooleanを追加し、値をYESに設定
文字画像の違い
文字、色などはベクトルデータで、拡大しても歪みません.画像はベクトルデータではなく、処理方法が異なります
__ブロック原理
自動変数は値伝達方式でBlockのコンストラクタに伝達されますBlockで変数値を変えるには2つの方式があります
ARC環境では、Blockが値を割り当てるとcopy,ブロックがスタックにコピーされます
スプリングアニメーション
コンストレイント衝突ビューの検索
(lldb) po [[UIWindow keyWindow] _AutolayoutTraceではAutoLayoutの階層図が表示されます
ネットワークコールバック待ち
マルチネットワーク同時コールバックスレッド同期
1.GCD 2.NSOperation依存3.RAC
self.definesPresentationContext = YES;
edgesForExtendedLayoutプロパティ
UINavigationControllerなどの境界コンテナを統合したコントローラにのみ適しています.
Layout Feedback Loop Debugging
1.(setNeedsLayoutが呼び出された各情報を記録)-U I v i e w LayoutFeedbackLoopDebuggingThreshold 100//50...1000 -NSViewLayoutFeedbackLoopDebuggingThreshold 100//50...1000 2.グローバルな異常ブレークポイントexception break pointを打つ.po [_UIViewLayoutFeedbackLoopDebugger layoutFeedbackLoopDebugger]
アドレスに基づいて質問を検索
Edit Scheme、Tab Aguments構成環境変数MallocStackLoggingNoCompact NSZombieEnabled MallocStackLogging shell malloc_に切り替えますhistory 40888 0 x 6497860|grep 0 x 6497860「アクティブモニタ」を開き、プロセスリストでテストAPPに対応するプロセス番号PID Xcodeを見つけてデバッグを有効にすると、プロセスリストに対応するAPPのプロセスが見つかる)端末にsudo malloc_を入力history PIDメモリアドレス
swiftマクロ
#if TARGET_INTERFACE_BUILDER
@IBOutlet open weak var dataSource: AnyObject?
@IBOutlet open weak var delegate: AnyObject?
#else
open weak var dataSource: FSPagerViewDataSource?
open weak var delegate: FSPagerViewDelegate?
#endif
swift xib読み出し
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: String(XXX), bundle: bundle)
#if TARGET_INTERFACE_BUILDER
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
[bundle loadNibNamed:@“XXX” owner:self options:nil];
#else
[[NSBundle mainBundle] loadNibNamed:@“XXX” owner:selfoptions:nil];
#endif
差
initWithNibNameメソッド:遅延ロードです.このViewのコントロールはnilで、表示が必要になるまでnilではありません.loadNibNamedは直ちにロードされ、このメソッドを呼び出すロードされたxibオブジェクトの各要素はすでに存在する.
pod互換swift 3.0
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
削除操作を簡単に実行
[makeObjectsPerformSelector: removeFromSuperView]
ソースファイルのコンパイル
clang -rewrite-objc xxx.m
クラスと分類におけるloadのロードメカニズム
1)、クラスloadでは分類のメソッドを呼び出すことができる.categoryをクラスに付加する作業は+loadメソッドの実行より先になるからである.2)、+loadの実行順序は先クラス、後categoryであり、categoryの+loadの実行順序はコンパイル順序によって決定される.
iOS 9 HTTPが正常に使用できない解決方法
Info.plistにNSAppTransportSecurityタイプDictionaryを追加します.NSAppTransportSecurityでNSAllowsArbitraryLoadsタイプBooleanを追加し、値をYESに設定
文字画像の違い
文字、色などはベクトルデータで、拡大しても歪みません.画像はベクトルデータではなく、処理方法が異なります
__ブロック原理
自動変数は値伝達方式でBlockのコンストラクタに伝達されますBlockで変数値を変えるには2つの方式があります
1. Block ,
2. (__block)。
ARC環境では、Blockが値を割り当てるとcopy,ブロックがスタックにコピーされます
スプリングアニメーション
usingSpringWithDamping 0-1 「 」
initialSpringVelocity
[UIView animateWithDuration:0.8 delay:_delay usingSpringWithDamping:0.6 initialSpringVelocity:0.1 options:UIViewAnimationOptionCurveEaseInOut animations:^{
} completion:^(BOOL finished) {
}];
コンストレイント衝突ビューの検索
(lldb) po [[UIWindow keyWindow] _AutolayoutTraceではAutoLayoutの階層図が表示されます
ネットワークコールバック待ち
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);
[[HttpManager sharedInstance] requestWithParam:@{} success:^{
dispatch_semaphore_signal(semaphore);
} failed:^(NSString *errorMsg) {
dispatch_semaphore_signal(semaphore);
}];
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
マルチネットワーク同時コールバックスレッド同期
1.GCD 2.NSOperation依存3.RAC
//
dispatch_group_t group = dispatch_group_create();
// banner
dispatch_group_enter(group);
[[BHNetReqManager sharedManager].bh_requestUrl(@"banner") startRequestWithCompleteHandler:^(id response, NSError *error) {
dispatch_group_leave(group);
}];
// table
dispatch_group_enter(group);
[[HTTPManager sharedManager].requestUrl(@"table") startRequestWithCompleteHandler:^(id response, NSError *error) {
dispatch_group_leave(group);
}];
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
//
});