2016-12-21 3 views
1

Я пытаюсь изменить NSUserNotifictation передать пользовательские переменные:Пользовательские NSUserNotifictation объект

@interface MyUserNotification: NSUserNotification 
@property (nonatomic) int theid; 
@property (nonatomic) NSString* url; 
@end 

@implementation MyUserNotification 
@end 

Тогда при инициировании в моем AppDelegate объекта:

MyUserNotification *notification = [[MyUserNotification alloc] init]; 
notification.theid = theid; 

заходящего theid бросает ошибку:

-[_NSConcreteUserNotification setTheid:]: unrecognized selector sent to instance 0x100204840 

Почему NSConcreteUserNotification объект участвует?

ответ

2

поэтому этот класс не предназначен для переопределения, кажется, но хорошие новости: есть userInfo dict?

Таким образом, вы можете хранить любые объекты, как КВ пар в Словаре USERINFO ...

int theid; 
NSUserNotification *notification = [[NSUserNotification alloc] init]; 
NSDictionary * userInfo = [NSMutableDictionary dictionary]; 
[userInfo setValue:@(theid) forKey:@"theid"]; 
notification.userInfo = userInfo; 
+1

Приветствия Я буду использовать: https://developer.apple.com/reference/foundation/nsusernotification/1415675-userinfo просто взволновался настройкой объектов – maxisme

+1

@Maximilian причина, по которой он работает таким образом, никогда не будет очевидна для нас, смертных, но реализована с классовыми кластерами, и обычно нам никогда не нужно знать «почему». –

 Смежные вопросы

  • Нет связанных вопросов^_^