命令因信号分段错误而失败 11 Xcode 9 - iOS 模拟器
command failed due to signal segmentation fault 11 Xcode 9 - iOS simulator
我的代码在 Xcode 9.3 和 swift 4.1 上编译,
我可以在设备上 运行 我的代码,但是在模拟器上尝试 运行 这段代码时,它给了我以下错误,
我尝试了很多解决此错误的方法,但 none 对我有用。
我的 swift 文件中有以下代码导致了这个错误,
import Foundation
import UIKit
extension UITableView {
func register<T: UITableViewCell>(_: T.Type) where T: ReusableView, T: NibLoadableView {
self.register(T.nib, forCellReuseIdentifier: T.reuseIdentifier)
}
func registerClass<T: UITableViewCell>(_: T.Type) where T: ReusableView, T: NibLoadableView {
self.register(T.self, forCellReuseIdentifier: T.reuseIdentifier)
}
func dequeueReusableCell<T: UITableViewCell>(forIndexPath indexPath: IndexPath) -> T? where T: ReusableView {
guard let cell = self.dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as? T else {
fatalError("Could not dequeue cell with identifier: \(T.reuseIdentifier)")
}
return cell
}
}
extension UICollectionView {
func register<T: UICollectionViewCell>(_: T.Type) where T: ReusableView {
self.register(T.self, forCellWithReuseIdentifier: T.reuseIdentifier)
}
// func register<T: UICollectionViewCell where T: ReusableView, T: NibLoadableView>(_: T.Type) {
// self.register(T.nib, forCellWithReuseIdentifier: T.reuseIdentifier)
// }
func dequeueReusableCell<T: UICollectionViewCell>(forIndexPath indexPath: IndexPath) -> T? where T: ReusableView {
guard let cell = self.dequeueReusableCell(withReuseIdentifier: T.reuseIdentifier, for: indexPath) as? T else {
fatalError("Could not dequeue cell with identifier: \(T.reuseIdentifier)")
}
return cell
}
}
// MARK: Add to superView with autoresizingMask(FlexibleWidth and FlexibleHeight)
extension UIView {
func getKeyboardFrame(_ keyboardNotification: Notification) -> CGRect {
guard let info = keyboardNotification.userInfo else { return CGRect(x: 0, y: 0, width: 0, height: 0) }
let value: AnyObject = info[UIKeyboardFrameEndUserInfoKey] as AnyObject
let rawFrame = value.cgRectValue
return self.convert(rawFrame!, from: nil)
}
// MARK: Get UIView from Nib
class func getNibView<T: UIView>() -> T? where T: NibLoadableView {
return Bundle.main.loadNibNamed(T.nibName, owner: self, options: nil)?[0] as? T
}
/// Add a view to a superview with the view's frame equal to the superview's bounds and the view having autoresizing mask enabled.
func add(to superView: UIView) {
self.frame = superView.bounds
self.autoresizingMask = [
.flexibleWidth,
.flexibleHeight
]
superView.addSubview(self)
}
}
此代码在编译时有一些警告
我想运行在模拟器上编写代码,但无法做到。
我认为这些是真正的编译器问题。尝试做一些小的改变,直到它起作用。
我的代码在 Xcode 9.3 和 swift 4.1 上编译, 我可以在设备上 运行 我的代码,但是在模拟器上尝试 运行 这段代码时,它给了我以下错误,
我尝试了很多解决此错误的方法,但 none 对我有用。
我的 swift 文件中有以下代码导致了这个错误,
import Foundation
import UIKit
extension UITableView {
func register<T: UITableViewCell>(_: T.Type) where T: ReusableView, T: NibLoadableView {
self.register(T.nib, forCellReuseIdentifier: T.reuseIdentifier)
}
func registerClass<T: UITableViewCell>(_: T.Type) where T: ReusableView, T: NibLoadableView {
self.register(T.self, forCellReuseIdentifier: T.reuseIdentifier)
}
func dequeueReusableCell<T: UITableViewCell>(forIndexPath indexPath: IndexPath) -> T? where T: ReusableView {
guard let cell = self.dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as? T else {
fatalError("Could not dequeue cell with identifier: \(T.reuseIdentifier)")
}
return cell
}
}
extension UICollectionView {
func register<T: UICollectionViewCell>(_: T.Type) where T: ReusableView {
self.register(T.self, forCellWithReuseIdentifier: T.reuseIdentifier)
}
// func register<T: UICollectionViewCell where T: ReusableView, T: NibLoadableView>(_: T.Type) {
// self.register(T.nib, forCellWithReuseIdentifier: T.reuseIdentifier)
// }
func dequeueReusableCell<T: UICollectionViewCell>(forIndexPath indexPath: IndexPath) -> T? where T: ReusableView {
guard let cell = self.dequeueReusableCell(withReuseIdentifier: T.reuseIdentifier, for: indexPath) as? T else {
fatalError("Could not dequeue cell with identifier: \(T.reuseIdentifier)")
}
return cell
}
}
// MARK: Add to superView with autoresizingMask(FlexibleWidth and FlexibleHeight)
extension UIView {
func getKeyboardFrame(_ keyboardNotification: Notification) -> CGRect {
guard let info = keyboardNotification.userInfo else { return CGRect(x: 0, y: 0, width: 0, height: 0) }
let value: AnyObject = info[UIKeyboardFrameEndUserInfoKey] as AnyObject
let rawFrame = value.cgRectValue
return self.convert(rawFrame!, from: nil)
}
// MARK: Get UIView from Nib
class func getNibView<T: UIView>() -> T? where T: NibLoadableView {
return Bundle.main.loadNibNamed(T.nibName, owner: self, options: nil)?[0] as? T
}
/// Add a view to a superview with the view's frame equal to the superview's bounds and the view having autoresizing mask enabled.
func add(to superView: UIView) {
self.frame = superView.bounds
self.autoresizingMask = [
.flexibleWidth,
.flexibleHeight
]
superView.addSubview(self)
}
}
此代码在编译时有一些警告
我想运行在模拟器上编写代码,但无法做到。
我认为这些是真正的编译器问题。尝试做一些小的改变,直到它起作用。