2014-07-24 49 views
-1

我的错误它“WHMailActivity”不可见@interface声明选择“activityDidFinish:”为“WHMailActivity”不可见@interface声明选择“activityDidFinish:”

,我收到了一个晚上,但我没有成功。 。 。为什么在其他地方如此使用,但我不能。 。 。 我希望能帮助我。 。 。

在此先感谢!

这一点,我的.h

#import <Foundation/Foundation.h> 
#import <MessageUI/MessageUI.h> 
#import "WHMailActivityItem.h" 

@interface WHMailActivity : UIViewController 

@end 

,这是我的.m

#import "WHMailActivity.h" 

@interface WHMailActivity() <MFMailComposeViewControllerDelegate> 

@property (nonatomic, strong)WHMailActivityItem *activityItem; 

@end 


@implementation WHMailActivity 

#pragma mark - UIActivity Overrides 

- (NSString *)activityType { 
    return NSStringFromClass([self class]); 
} 

- (NSString *)activityTitle { 
    return NSLocalizedString(@"Mail", @"title for Mail activity item"); 
} 

- (UIImage *)activityImage { 
    return [UIImage imageNamed:@"mailActivity.png"]; 
} 

- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems { 
    if (![MFMailComposeViewController canSendMail]) { 
     return NO; 
    } 

    for (id item in activityItems) { 
     if ([item isKindOfClass:[WHMailActivityItem class]]) { 
      return YES; 
     } 
    } 

    return NO; 
} 

- (void)prepareWithActivityItems:(NSArray *)activityItems { 
    for (id item in activityItems) { 
     if ([item isKindOfClass:[WHMailActivityItem class]]){ 
      self.activityItem = item; 
     } 
    } 
} 

- (UIViewController *)activityViewController { 
    MFMailComposeViewController *composeController = [[MFMailComposeViewController alloc] init]; 

    if (self.activityItem.onMailActivitySelected) { 
     self.activityItem.onMailActivitySelected(composeController); 
    } 

    composeController.mailComposeDelegate = self; 
    return composeController; 

     [self performSelector:@selector(mailComposeController)]; 
} 

#pragma mark - MFMailComposeViewControllerDelegate 

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { 
    [self activityDidFinish:result == MFMailComposeResultSent]; 
} 

@end 

回答

0

在您的.h文件中您有:

@interface WHMailActivity : UIViewController 

,但它应该是:

@interface WHMailActivity : UIActivity 

假设班级是自定义UIActivity

+0

图片按钮如何连接到代码? – SoraSama

相关问题