1

問題が 1 つあります。アプリケーションで使用するRestKit。ネットワーク経由でデータを受信すると、それらをオブジェクトに保持してから、クラスのさまざまなフィールドを使用します。私の場合、ソーシャル ネットワークでリンクを送信するために UIActivity で使用される URL のフィールドがある記事を取得します。UIAсtivity を押してハンドラー関数を呼び出すと、URL が NULL になります。なぜこれが起こるのか理解できません。

NewsDetailViewController.h

@property (nonatomic,strong) NSString *URL;

NewsDetailViewController.m

@interface NewsDetailViewController() {
   NSString *URL;
}

@synthesize URL;

[[RKObjectManager sharedManager] getObjectsAtPath:route parameters:params
                                          success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
Article *article = [mappingResult.array firstObject];
 self.URL = article.url;
                                          }
                                          failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                              NSLog(@"Error response': %@", error);
                                          }];

-(void)socialSharing:sender {

dispatch_queue_t queue = dispatch_queue_create("openActivityIndicatorQueue", NULL);

dispatch_async(queue, ^{
    NSArray *itemsToShare = @[self.URL];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
        activityVC.excludedActivityTypes = @[UIActivityTypeAirDrop];
    }

    dispatch_async(dispatch_get_main_queue(), ^{
        [self presentViewController:activityVC animated:YES completion:nil];
    });
});
}

初期化ボタン

_items = [[self.toolBar items] mutableCopy];
UIBarButtonItem *shareBtn = [[UIBarButtonItem alloc]     initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(socialSharing:)];
[_items addObject:shareBtn];
[self.toolBar setItems:_items animated:YES];

関数 socialSharing:sender 内で、変数 self.URL が NULL です。なぜだか分からない?

4

0 に答える 0