использование appDelegate для обмена данными - получение «запроса на членство в __ не в структуре или объединении» - PullRequest
2 голосов
/ 26 июня 2010

У меня есть простой пример, когда у меня есть делегат со строкой и свойство выставлять ее.

myAppDelegate.h

#import <UIKit/UIKit.h>
@interface myAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UITabBarController *rootController;
    NSString* myText;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
@property (nonatomic, retain) NSString *myText;
@end

myAppDelegate.m

#import "myAppDelegate.h"
@implementation myAppDelegate
@synthesize window;
@synthesize rootController;
@synthesize myText;

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    [window addSubview:rootController.view];
    [window makeKeyAndVisible];
}

- (void)dealloc {
    [rootController release];
    [window release];
    [super dealloc];
}
@end

Итак, в моем контроллере основного вида я пробую что-то вроде этого:

myAppDelegate* ad = (myAppDelegate*)[UIApplication sharedApplication].delegate;
ad.myText = @"blah";

и получаю: Запрос на член 'myText' в чем-то, не являющемся структурой или объединением

Кто-нибудь знает, почему это происходит?

1 Ответ

1 голос
/ 26 июня 2010

Вы пытались использовать сеттер вместо точечной нотации?

[ad setMyText:@"blah"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...