provide a result in feedbackComposeViewController's delegate

fixes #31
This commit is contained in:
Stephan Diederich 2013-07-16 13:43:49 +02:00
parent cc9e403a3e
commit 27919a28ae
3 changed files with 29 additions and 12 deletions

View File

@ -218,14 +218,6 @@
#pragma mark - Private methods
- (void)dismiss {
if (self.delegate && [self.delegate respondsToSelector:@selector(feedbackComposeViewControllerDidFinish:)]) {
[self.delegate feedbackComposeViewControllerDidFinish:self];
} else {
[self dismissViewControllerAnimated:YES completion:nil];
}
}
- (void)setUserDataAction {
BITFeedbackUserDataViewController *userController = [[BITFeedbackUserDataViewController alloc] initWithStyle:UITableViewStyleGrouped];
userController.delegate = self;
@ -238,8 +230,10 @@
[self presentViewController:navController animated:YES completion:nil];
}
#pragma mark - Actions
- (void)dismissAction:(id)sender {
[self dismiss];
[self dismissWithResult:BITFeedbackComposeResultCancelled];
}
- (void)sendAction:(id)sender {
@ -250,9 +244,21 @@
[self.manager submitMessageWithText:text];
[self dismiss];
[self dismissWithResult:BITFeedbackComposeResultSubmitted];
}
- (void)dismissWithResult:(BITFeedbackComposeResult) result {
if(self.delegate && [self.delegate respondsToSelector:@selector(feedbackComposeViewController:didFinishWithResult:)]) {
[self.delegate feedbackComposeViewController:self didFinishWithResult:result];
} else if (self.delegate && [self.delegate respondsToSelector:@selector(feedbackComposeViewControllerDidFinish:)]) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
[self.delegate feedbackComposeViewControllerDidFinish:self];
#pragma clang diagnostic pop
} else {
[self dismissViewControllerAnimated:YES completion:nil];
}
}
#pragma mark - BITFeedbackUserDataDelegate

View File

@ -8,6 +8,11 @@
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, BITFeedbackComposeResult) {
BITFeedbackComposeResultCancelled, //user hit cancel
BITFeedbackComposeResultSubmitted, //user hit submit
};
@class BITFeedbackComposeViewController;
/**
@ -31,6 +36,11 @@
@param composeViewController The `BITFeedbackComposeViewController` instance invoking this delegate
*/
- (void)feedbackComposeViewControllerDidFinish:(BITFeedbackComposeViewController *)composeViewController;
- (void)feedbackComposeViewController:(BITFeedbackComposeViewController *)composeViewController
didFinishWithResult:(BITFeedbackComposeResult) composeResult;
#pragma mark - Deprecated methods
/** this method is deprecated. If feedbackComposeViewController:didFinishWithResult: is implemented, this will not be called */
- (void)feedbackComposeViewControllerDidFinish:(BITFeedbackComposeViewController *)composeViewController __attribute__((deprecated("Use feedbackComposeViewController:didFinishWithResult: instead")));
@end

View File

@ -341,7 +341,8 @@
#pragma mark - BITFeedbackComposeViewControllerDelegate
- (void)feedbackComposeViewControllerDidFinish:(BITFeedbackComposeViewController *)composeViewController {
- (void)feedbackComposeViewController:(BITFeedbackComposeViewController *)composeViewController
didFinishWithResult:(BITFeedbackComposeResult)composeResult {
if (self.userDataComposeFlow) {
if ([self.manager showFirstRequiredPresentationModal]) {
__weak typeof(self) weakSelf = self;