Professional Web Applications Themes

NSDistributedNotificationCenter not working - Mac Programming

Here is my code. I want to know when a volume is mounted/unmounted, but my selector is never called and I see no errors. #import "NotTest.h" #import <Cocoa/Cocoa.h> implementation NotTest -(void) awakefromNib{ NSDistributedNotificationCenter* nc = [NSNotificationCenter defaultCenter]; [nc addObserver: self selector:selector(boo:) name:"NSWorkspaceDidMountNotification" object:nil]; [nc addObserver: self selector:selector(boo:) name:"NSWorkspaceDidUnmountNotification" object:nil]; } //-(void) boo:(id)sender; Header declaration -(void) boo:(id)sender{ NSLog("Notification posted"); } -(void) dealloc{ NSDistributedNotificationCenter* nc = [NSNotificationCenter defaultCenter]; [nc removeObserver:self]; } end...

  1. #1

    Default NSDistributedNotificationCenter not working

    Here is my code. I want to know when a volume is mounted/unmounted, but
    my selector is never called and I see no errors.

    #import "NotTest.h"
    #import <Cocoa/Cocoa.h>

    implementation NotTest


    -(void) awakefromNib{

    NSDistributedNotificationCenter* nc = [NSNotificationCenter
    defaultCenter];

    [nc addObserver: self selector:selector(boo:)
    name:"NSWorkspaceDidMountNotification" object:nil];
    [nc addObserver: self selector:selector(boo:)
    name:"NSWorkspaceDidUnmountNotification" object:nil];
    }

    //-(void) boo:(id)sender; Header declaration

    -(void) boo:(id)sender{

    NSLog("Notification posted");
    }

    -(void) dealloc{

    NSDistributedNotificationCenter* nc = [NSNotificationCenter
    defaultCenter];
    [nc removeObserver:self];
    }

    end
    Lorenzo Guest

  2. #2

    Default Re: NSDistributedNotificationCenter not working

    Lorenzo Thurman wrote: 

    I think you want [NSDistributedNotificationCenter defaultCenter] here,
    not [NSNotificationCenter defaultCenter].

    The doc says:

    NSDistributedNotificationCenter provides a way to send notifications to
    objects in other tasks. It takes NSNotification objects and broadcasts
    them to any objects in other tasks that have registered for the
    notification with their task’s default NSDistributedNotificationCenter.

    -jcr
    John Guest

  3. #3

    Default Re: NSDistributedNotificationCenter not working

    In article <idiom.com>,
    "John C. Randolph" <idiom.com> wrote:
     

    Thanks
    Lorenzo Guest

  4. #4

    Default Re: NSDistributedNotificationCenter not working

    In article <idiom.com>,
    "John C. Randolph" <idiom.com> wrote:
     
    >
    > I think you want [NSDistributedNotificationCenter defaultCenter] here,
    > not [NSNotificationCenter defaultCenter].
    >
    > The doc says:
    >
    > NSDistributedNotificationCenter provides a way to send notifications to
    > objects in other tasks. It takes NSNotification objects and broadcasts
    > them to any objects in other tasks that have registered for the
    > notification with their task’s default NSDistributedNotificationCenter.
    >
    > -jcr[/ref]

    So, I get home and change this:

    NSDistributedNotificationCenter* nc = [NSNotificationCenter
    defaultCenter];


    to this:
    NSDistributedNotificationCenter* nc = [NSDistributedNotificationCenter
    defaultCenter];

    abd I still get no notifications. What can I try next?
    Lorenzo Guest

  5. #5

    Default Re: NSDistributedNotificationCenter not working

    In article
    <internal.thethurmans.com>,
    Lorenzo Thurman <om> wrote:
     
    >
    > Thanks[/ref]

    Here's what I needed:

    NSNotificationCenter* ndc = [[NSWorkspace sharedWorkspace]
    notificationCenter];

    [ndc addObserver: self selector:selector(boo:)
    name:NSWorkspaceDidMountNotification object:nil];

    [ndc addObserver: self selector:selector(boo:)
    name:NSWorkspaceDidUnmountNotification object:nil];

    I need the the Workspace's notification center not the +defaultCenter
    Lorenzo Guest

  6. #6

    Default Re: NSDistributedNotificationCenter not working

    In article
    <internal.thethurmans.com>,
    Lorenzo Thurman <om> wrote:
     
    > >
    > > I think you want [NSDistributedNotificationCenter defaultCenter] here,
    > > not [NSNotificationCenter defaultCenter].
    > >
    > > The doc says:
    > >
    > > NSDistributedNotificationCenter provides a way to send notifications to
    > > objects in other tasks. It takes NSNotification objects and broadcasts
    > > them to any objects in other tasks that have registered for the
    > > notification with their task’s default NSDistributedNotificationCenter.
    > >
    > > -jcr[/ref]
    >
    > So, I get home and change this:
    >
    > NSDistributedNotificationCenter* nc = [NSNotificationCenter
    > defaultCenter];
    >
    >
    > to this:
    > NSDistributedNotificationCenter* nc = [NSDistributedNotificationCenter
    > defaultCenter];
    >
    > abd I still get no notifications. What can I try next?[/ref]

    I was subscribing to wrong notificatrion center. I needed to subscribe
    to the NSWorksapces's center, so I do this and it works:

    NSNotificationCenter* ndc = [[NSWorkspace sharedWorkspace]
    notificationCenter];

    [ndc addObserver: self selector:selector(boo:)
    name:NSWorkspaceDidMountNotification object:nil];
    [ndc addObserver: self selector:selector(boo:)
    name:NSWorkspaceDidUnmountNotification object:nil];
    Lorenzo Guest

Similar Threads

  1. #38816 [Opn]: PHP code that was working perfectly recently stopped working.
    By mtoohee at gmail dot com in forum PHP Programming
    Replies: 0
    Last Post: September 13th, 09:41 PM
  2. Replies: 0
    Last Post: November 26th, 06:47 AM
  3. Data not working on Label but is working in Datagrid
    By KetanS in forum Macromedia Flex General Discussion
    Replies: 4
    Last Post: June 11th, 03:56 AM
  4. Working TableStyle Not Working on a Second DataGrid
    By psibertrip in forum ASP.NET Data Grid Control
    Replies: 0
    Last Post: May 7th, 04:57 PM
  5. working in RGB
    By Rich Hudgins in forum Macromedia Freehand
    Replies: 4
    Last Post: August 6th, 02:40 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139