コードを使用して、ペン先からUITableViewを含むビューを読み込もうとしています。
class HintTable:UIView, UITableViewDataSource, UITableViewDelegate{
var searchResults = Array<String>()
let delegate:MovableAnnotationDelegate
@IBOutlet var myTableView:UITableView!
init(frame: CGRect, delegate:MovableAnnotationDelegate) {
self.delegate=delegate
super.init(frame: frame)
loadViewFromNib ()
}
required init?(coder aDecoder: NSCoder) {
self.delegate=InArrivoHDViewController.sharedDetailController()
super.init(coder: aDecoder)
loadViewFromNib ()
}
func loadViewFromNib() {
NSBundle.mainBundle().loadNibNamed("HintTableView", owner: self, options: nil)
self.myTableView.backgroundColor=UIColor(red:0.2890625, green:0.75390625, blue:0.3046875, alpha:0.5)
self.backgroundColor=UIColor(red:0.2890625, green:0.75390625, blue:0.3046875, alpha:0.5)
print("myTableView %@", self.myTableView);
self.myTableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
}
それでも、コマンドで何のヒントもなくクラッシュします。
NSBundle.mainBundle().loadNibNamed("HintTableView", owner: self, options: nil)
Xibでは、クラスをIDインスペクターで取得するのではなく、ファイルの所有者として設定しました。IBOutletが配線されていないように見えるため、tableViewにアクセスする方法についてもまったくわかりません。
これはクラッシュログです:
最後の例外バックトレース:0 CoreFoundationの
0x182b3cf48 exceptionPreprocess + 124 1 libobjc.A.dylib
0x197fe7f80 objc_exception_throw + 56 2 CoreFoundationの
0x182b3cc08 - [NSExceptionレイズ] + 12 3ファンデーション
0x1839b8014 - [NSObjectの(NSKeyValueCoding)のsetValue:forKey:] + 268 4
のUIKit 0x1883e3a4c - [UIViewの(CALayerDelegate)のsetValue:forKey:] + 184 5のUIKit 0x188596794 - [UIRuntimeOutletConnection接続] + 124 6 CoreFoundationのを0x182a669cc - [NSArrayのmakeObjectsPerformSelector:] + 232 7のUIKit
0x18859517c - [UINib instantiateWithOwner:オプション:] + 1748 8のUIKit
0x188597408 - [NSBundle(UINSBundleAdditions)loadNibNamed:owner:options:] + 224 9 inArrivoHD
0x10023218c 0x100074000 + 1827212 10 inArrivoHD
0x100231bf8 0x100074000 + 1825784 11 inArrivoHD
0x100231d2c 0x100074000 + 1826092 12 inArrivoHD
0x10024ec34 0x100074000 + 1944628 13 inArrivoHD
0x100250678 0x100074000 + 1951352 14 UIKit
0x1880d0098- [UIViewController loadView
0x18818f580- [UINavigationController _layoutViewController:] + 72 16 UIKit 0x18818f458- [UINavigationController _updateScrollViewFromViewController:toViewController:] + 416 17 UIKit 0x18818e6a0- [UINavigationController _startTransition:fromViewController:toViewController:] + 144 0x18818de6c- [UINavigationController __viewWillLayoutSubviews] + 60 20 UIKit 0x18818ddd4- [UILayoutContainerView layoutSubviews] + 208 21 UIKit 0x1880cb7ac- [UIView(CALayerDelegate)layoutSublayersOfLayer:] + 644 22 QuartzCore 0x18 :layout_if_needed(CA :: Transaction *)+ 292 24 QuartzCore
0x1878c5624 CA :: Layer :: layout_and_display_if_needed(CA :: Transaction *)+ 32 25 QuartzCore 0x1878c4cc0 CA :: Context :: commit_transaction(CA :: Transaction *)+ 252 26 QuartzCore 0x1878c4a08 CA :: Transaction :: commit()+ 512 27 QuartzCore
0x1878be0f8 CA ::トランザクション:: observer_callback(__ CFRunLoopObserver *、unsigned long型、ボイド*)+ 80 28 CoreFoundationの
0x182af3bd0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 32 29 CoreFoundationの0x182af1974 __CFRunLoopDoObservers + 372 30 CoreFoundationの0x182a20cc0 CFRunLoopRunSpecific + 416 31のUIKit
0x18813e1c8 - [のUIApplication _run] + 460 32 UIKit
0x188138ffc UIApplicationMain + 204 33 inArrivoHD
0x1002cc3c0 0x100074000 + 2458560 34 libdyld.dylib
0x19882a8b8 start + 4
ストーリーボードのメインViewControllerにビューを挿入し、デリゲートとソースをビューに適切に割り当てることになりました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加