- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序发送以下 NSDistributed 通知,我最终希望使用 CLI“抓取”其中的一部分并将其通过管道传输到 shell 脚本:
{name = TheApplicationNotification; object = TheApplicationNotification; userInfo = {
path = "/path/to/a/file";
}}
我对编程一无所知,但我设法使用以下小型 CLI 代码获取整个通知,这些代码无耻地从两个旧的 stackoverflow 评论中组合在一起:
#import <Foundation/NSObject.h>
#import <Foundation/NSNotification.h>
#import <Foundation/NSString.h>
#import <Foundation/NSDistributedNotificationCenter.h>
#import <Foundation/NSRunLoop.h>
#import <stdio.h>
@interface monitorcli: NSObject {}
-(id) init;
-(void) receive: (NSNotification*) notification;
@end
@implementation monitorcli
-(id) init {
NSDistributedNotificationCenter * center
= [NSDistributedNotificationCenter defaultCenter];
[center addObserver: self
selector: @selector(receive:)
name: @"TheApplicationNotification"
object: nil
];
fprintf(stderr,"Listening...\n");
[[NSRunLoop currentRunLoop] run];
fprintf(stderr,"Stopping...\n");
return self;
}
-(void) receive: (NSNotification*) notification {
NSLog(@"%@", notification);
}
@end
int main( int argc, char ** argv) {
[[monitorcli alloc] init];
return 0;
}
我还设法通过替换来获取通知名称
NSLog(@"%@", notification);
对于
fprintf(stderr,"%s\n", [[notification name] UTF8String] );
我现在的问题是:需要对代码进行哪些更改才能仅打印 userInfo 中的“path”键?
最佳答案
尝试:
NSLog(@"%@", notification.userInfo[@"path"]);
.userInfo
获取userInfo
属性的值,该值是一个字典。然后,[@"path"]
获取与字典中的 @"path"
键关联的值。
注意:所有代码都直接输入到答案中,预计会有轻微的拼写错误。
关于objective-c - macOS NSDistributedNotification : fprint or NSLog value of a specific key in userInfo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50639507/
背景 我已经发布了一个有关 sharing a Core Data store between processes 基础知识的问题. 我正在尝试实现给出的建议,但遇到了问题。 我的目标 我有两个进程
在 10.7.2 上,我无法让标准 NSDistributedNotifications 开箱即用。 即使回到(完整的 XCode 版本 https://github.com/dirkx/Exampl
我有一个应用程序发送以下 NSDistributed 通知,我最终希望使用 CLI“抓取”其中的一部分并将其通过管道传输到 shell 脚本: {name = TheApplicationNotifi
我是一名优秀的程序员,十分优秀!