I normally don't stumble on these things, but I'm trying to put or even fetch an ivar in another class. I tried setting the variable as strong also, but I always get a null value.

### NewView.h

```
@interface NewView : NSView <NSApplicationDelegate> {
    IBOutlet NSString *__setValue;
}
@property (weak, nonatomic) IBOutlet NSString *setValue;
- (IBAction)doStuff:(id)sender;
@end

```

### NewView.m

```
#import "NewView.h"
#import "AppDelegate.h"
@implementation NewView 
@synthesize value;
@synthesize setValue;

- (IBAction)doStuff:(id)sender {

     /* Also Tried
     AppDelegate *get = [[AppDelegate alloc] init];
     setValue = get.appDelegateString;
     */

    NSLog(@"setValue: %@",setValue); // always returns NULL
}
@end

```

### AppDelegate.h

```
@interface AppDelegate : NSObject <NSApplicationDelegate> {
    NSString *__appDelegateString;
}
@property (weak, nonatomic) NSString *appDelegateString;
-(IBAction)displayString:(id)sender;
@end

```

### AppDelegate.m

```
#import "AppDelegate.h"
#import "NewView.h"
@interface AppDelegate ()
@property (weak) IBOutlet NSWindow *window;
@end

@implementation AppDelegate
@synthesize appDelegateString;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    [self displayString:nil];
}

-(IBAction)displayString:(id)sender {
    appDelegateString = @"TEST";
    NSLog(@"appDelegateString: %@", appDelegateString);
    [self putString];
}

- (void)putString {
    NewView *put = [[NewView alloc] init];
    put.setValue = appDelegateString;
}
@end

```

NSLog:

```
appDelegateString: TEST
setValue: (null)

```

Do I need to do something special to get the ivar across classes?