我已经看到了Xcode从Objective-C初始化程序创建的代码:
init!(logMsg: String!, level logLevel: DDLogLevel, flag logFlag: DDLogFlag, context logContext: Int32, file: UnsafePointer<Int8>, function: UnsafePointer<Int8>, line: Int32, tag: AnyObject!, options optionsMask: DDLogMessageOptions)
init!(logMsg: String!, level logLevel: DDLogLevel, flag logFlag: DDLogFlag, context logContext: Int32, file: UnsafePointer<Int8>, function: UnsafePointer<Int8>, line: Int32, tag: AnyObject!, options optionsMask: DDLogMessageOptions, timestamp aTimestamp: NSDate!)
原始代码是:
- (instancetype)initWithLogMsg:(NSString *)logMsg
level:(DDLogLevel)logLevel
flag:(DDLogFlag)logFlag
context:(int)logContext
file:(const char *)file
function:(const char *)function
line:(int)line
tag:(id)tag
options:(DDLogMessageOptions)optionsMask;
- (instancetype)initWithLogMsg:(NSString *)logMsg
level:(DDLogLevel)logLevel
flag:(DDLogFlag)logFlag
context:(int)logContext
file:(const char *)file
function:(const char *)function
line:(int)line
tag:(id)tag
options:(DDLogMessageOptions)optionsMask
timestamp:(NSDate *)aTimestamp;
在 init 关键字之后,感叹号是什么意思?
最佳答案
它是失败的初始化程序,在Swift 1.1(与Xcode 6.1一起引入)中
从Apple Developer:
(强调我的)
关于objective-c - 感叹号对快速初始化程序意味着什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26440520/