以下のように、appdelegate 内のインスタンス変数として NSString があります。
distributedLCAAppDelegate.h:
@class distributedLCAViewController;
@interface distributedLCAAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
distributedLCAViewController *viewController;
NSString *token;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet distributedLCAViewController *viewController;
@property (nonatomic, copy) NSString *token;
@end
distributedLCAAppDelegate.m のセクション:
@implementation distributedLCAAppDelegate
@synthesize window;
@synthesize viewController;
@synthesize token;
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
token = [NSString stringWithFormat:@"%@",deviceToken];
token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
token = [token substringWithRange:NSMakeRange(1, [token length]-2)];
}
ビュー コントローラー内でこのトークン変数を使用できるようにする必要があります。現在、これは私が持っているものです:
distributedLCAViewController.m 内のセクション:
- (IBAction)switchWasActivated:(id)sender
{
NSString *token2 = [[[distributedLCAAppDelegate alloc] token] autorelease];
}
ただし、token2 = 「無効な cfstringref」です。
最初に、トークンを返すだけの getToken というパブリック メソッドを宣言しようとしました。しかし、その場合も同じ問題が発生していました。
どんな助けでも大歓迎です!