セルをデキューすると0.5〜1.0秒かかります。つまり、私のUITableViewは4行しかなくてもロードに2-3秒以上かかることを意味します。Swift 3で再利用可能なセルをデキューするのが非常に遅い
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cellid = "NumberCell"
var isnumber = true
if indexPath.row == 0 {
cellid = "TextCell"
isnumber = false
}
NSLog("before dequeue \(indexPath)")
let cell = tableView.dequeueReusableCell(withIdentifier: cellid, for: indexPath) as! TextfieldTableViewCell
NSLog("dequeued")
// ...
return cell
}
デキューが08.38
へ07.47
から取る直接ショーの前と後のNSLog()文。
2017年7月25日22:07:07.471898から0700のMyApp [10209:4507471]デキュー前に[0,0]
2017年7月25日22:07:07.679715から0700のMyApp [10209 :4507471] [MC] systemgroup.com.apple.configurationprofilesのシステムグループコンテナのパスは/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-07-25 22:07: 07.683843-0700 myapp [10209:4507471] [MC]実効的なユーザー設定を読む。
2017年7月25日22:07:08.386960から0700のMyApp [10209:4507471]は細胞が非常に簡単である
をデキュー。これにはUILabelとUITextFieldだけがあり、UITextFieldにはEditing Changedというアクションがあります。それでおしまい。一体、おそらくそれは、セルをデキューSO長く取るさせることができるもの
?システムグループコンテナに関する他の2つのシステムNSLog()ですか?
このビューコントローラにセグをしようとすると、アプリケーションが4行を設定している間にアプリケーションが2〜4秒間ロックアップするように見えるため、私のアプリケーションはほとんど使用できなくなります。
Objective-Cで何百ものUITableViewControllerを作成しましたが、この問題は一度もありませんでした。スウィフト3について何か不思議なことがありますか?
あなたは 'ネストされたViewControllers'を使用していますか? – Dhiru
計器のタイムプロファイラでコードを調べましたか? – clemens
** Xcode - > Product - > Scheme - > Edit Scheme 環境変数で、名前としてOS_ACTIVITY_MODEを追加し、値として無効にしてください**これを試してみてください。 –