您可以像这样通过 userInfo 传递它
let userInfo = [ "inputData" : inputdata ]
NSNotificationCenter.defaultCenter().postNotificationName("navigateToProductDetail", object: nil, userInfo: userInfo)
您可以从具有属性的NSNotification
对象中获取它userInfo
func handleNotification(notification: NSNotification){
print(notification.userInfo)
print(notification.userInfo!["inputData"])
}
如果Row
是 a struct
,首先你必须将它包装成一个类对象,然后你可以将类对象传递给这个函数。
创建包装类
class Wrapper<T> {
var wrappedValue: T
init(theValue: T) {
wrappedValue = theValue
}
}
包裹你的行
let wrappedInputData = Wrapper(theValue: inputdata)
let userInfo = [ "inputData" : wrappedInputData ]
NSNotificationCenter.defaultCenter().postNotificationName("navigateToProductDetail", object: nil, userInfo: userInfo)
取回您的 inputData
func handleNotification(notification: NSNotification){
print(notification.userInfo)
if let info = notification.userInfo {
if let wrappedInputData = info["inputData"] {
let inputData : Row = (wrappedInputData as? Wrapper)!.wrappedValue
print(inputData)
}
}
}