通知引数としてインターフェイスオブジェクトを渡したいと思います。通知オブジェクトとしてインターフェイスオブジェクトを渡します。
私は
@interface StudentDetails : NSObject
{
NSMutableArray* studentList;
int grade;
}
@end
ようなインターフェイスを持っていると私は以下のような通知引数としてStudentDetailsのオブジェクトを渡したいと思います:
StudentDetails* pInterfaceCommand1 = [[StudentDetails alloc] init];
// student list is initialize to 1,2 & grade is 10
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:pInterfaceCommand1 forKey:@"aKey"];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"testNotification" object:nil userInfo:userInfo deliverImmediately:YES];
しかし、私は他のクラスで通知を受け取ることができないのです。 しかし、私は以下のような通知を掲載しています、私は親切に私が必要とされているどのような変更を知らせ1.
NSDictionary* userInfo = @{@"data": @1};
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"testNotification" object:nil userInfo:userInfo deliverImmediately:YES];
値を受け取ることができています。
通知を受け取っていないか、またはペイロードを受信していませんか。 – Avi
HI。 1.以下のケースの通知を受け取りません。 StudentDetails * pInterfaceCommand1 = [[StudentDetails alloc] init]; NSDictionary * userInfo = [NSDictionary dictionaryWithObject:pInterfaceCommand1 forKey:@ "aKey"]; [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@ "testNotification"オブジェクト:なしuserInfo:userInfo deliverImmediately:YES]; 2. の応答を受信します。NSDictionary * userInfo = @ {@ "data":@ 1}; 。 [[NSDistributedNotificationCenter defaultCenter] postNotificationName:@ "testNotification"オブジェクト:なしuserInfo:userInfo deliverImmediately:YES]; – Phillip
'StudentDetails'はシリアル化できますか? – Willeke