升级到Xcode 8 GM后,我注意到NSLog没有将整个日志消息打印到控制台.当针对下载大量信息的API工作时尤其明显,例如REST API从数据库下载所有产品,它只显示第一个产品的前30个键,其余信息被剪切...
我打印数组和字典,如果这有任何区别.
NSDictionary *allProducts = responseFromAPI;
NSLog(@"All products:%@", allProducts);
Run Code Online (Sandbox Code Playgroud)
有没有人注意到这个?有人知道如何解决这个问题吗?
我正在尝试实现一个扩展功能,该功能应根据使用它的类的类型而有所不同。这些对象必须是UIView(或子类)。它应该始终使用在指定类型上扩展的函数,但如果不符合任何扩展函数,则应改用UIView方法(作为后备)。
这是我要执行的操作的一个示例:
protocol aProtocol {
typealias completionBlock = (_ finished:Bool)->()
func doSomething(completion: completionBlock)
}
extension UIView: aProtocol {
func doSomething(completion: (Bool) -> ()) {
print("Im an UIView")
}
}
extension aProtocol where Self: UILabel {
func doSomething(completion: (Bool) -> ()) {
print("im an UILabel")
}
}
extension aProtocol where Self: UIImageView {
func doSomething(completion: (Bool) -> ()) {
print("im an UIImageView")
}
}
Run Code Online (Sandbox Code Playgroud)
执行:
UIView().doSomething { (foo) in } // Should print "Im an UIView"
UIButton().doSomething { (foo) in } …Run Code Online (Sandbox Code Playgroud)