左右就可以删完了,然后直接拖到项目中就可以了~
Snap 其实只要拖进去就好了,暂时不需要修改什么。
// 其实都是 !os(watchOS) 这个宏下面的
#if !os(watchOS)
@discardableResult
public func stream(withHostName hostName: String, port: Int) -> StreamRequest {
return SessionManager.default.stream(withHostName: hostName, port: port)
}
@discardableResult
public func stream(with netService: NetService) -> StreamRequest {
return SessionManager.default.stream(with: netService)
}
#endif
@escaping
let pedonmeter:CMPedometer = CMPedometer()
func getPedometerDataFromDate(_ datet:Date?, withHandler handler: @escaping (CMPedometerData?, Error?) -> ()){
// 编译错误
pedonmeter.queryPedometerDataFromDate(startTime, toDate:endTime, withHandler: { (pedometerData:CMPedometerData?, error:NSError?) -> Void in
guard let pedometerData = pedometerData else { return }
handler(pedometerData, error)
// 做一些事情
})
// 最后逼不得已只能不修改了,函数外面就做一些事情了
pedonmeter.queryPedometerData(from: startTime, to: endTime, withHandler: handler as! CMPedometerHandler)
}
Result of call to 'funtion' is unused
-
这其实不是一个 编译错误,但是这个警告最开始让我有点懵逼.返回值不用难道要我都修改一下?
-
最开始其实我是这么修改的 let _ = funtion()
,但是后面在看SE-0047的时候发现@discardableResult
也是可以达到这个效果的。
Date && NSDate
-
因为有个项目中使用的 DateTools 这个工具。它有一个 NSDate + Tools 的分类。
-
但是在写 Swift 3 的过程中我发现如果变量是 Date 类型的无法使用NSDate + Tools 这个类型,必须显示声明date as NSDate 这样才能调用分类的一些个方法。
-
这个让使用 OC 的库的时候会感觉十分不舒服,毕竟很多 NS 的前缀去掉了。所有都显示声明太不友好了。
CAAnimationDelegate
@interface NSObject (CAAnimationDelegate)- (void)animationDidStart:(CAAnimation *)anim;
-
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;@end
@protocol CAAnimationDelegate @optional- (void)animationDidStart:(CAAnimation *)anim;
-
- (void)animationDidStop:(CAAnimation *)anim fin