Objective c의 한 클래스에서 다른 클래스로 변수 값을 전달할 수 없습니다.

폴리나

도우미 클래스를 만들었 MFMessageComposeViewController으므로 뷰 컨트롤러 대신 MFMessageComposeViewController를 기본 클래스로 사용하여 클래스를 만들었습니다. 아래 코드는 다음과 같습니다.

SMSMessageController.h

#import <MessageUI/MessageUI.h>

NS_ASSUME_NONNULL_BEGIN

@interface SMSMessageController : MFMessageComposeViewController
@property (strong, nonatomic) NSString *messageBody;
@property (strong, nonatomic) NSString *receivingNumber;

@end

NS_ASSUME_NONNULL_END

SMSMessageController.m

#import "SMSMessageController.h"

@interface SMSMessageController ()<UINavigationControllerDelegate,MFMessageComposeViewControllerDelegate>

@end

@implementation MessageControllerKony

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.body = self.messageBody;
    NSLog(@"SMS BODY%@", self.messageBody);
    self.recipients = [NSMutableArray arrayWithObject: @"13123123"];
    self.messageComposeDelegate = self;
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
    //test result
    switch (result) {
        case MessageComposeResultCancelled:
            NSLog(@"Result: SMS sending canceled") ;
            break;
        //message was sent
        case MessageComposeResultSent:
            NSLog(@"Result: SMS sent");
            break;
        case MessageComposeResultFailed:
            NSLog(@"Result: SMS sending failed");
            break;
        default:
            break;
    }

    //dismiss view
    [self dismissViewControllerAnimated:YES completion:nil];
}

@end

이제 버튼 동작에 "ViewController B"라는 다른 컨트롤러에서이 컨트롤러를 표시하려고합니다. 이 컨트롤러의 값을의 messageBody변수 로 전달하려고합니다 MessageControllerKony.h. 버튼 동작은 다음과 같습니다.

- (IBAction)smsAction:(id)sender {
    self.messageController = [[MessageControllerKony alloc]init];
    self.messageController.messageBody = @"jfhjkhasfjhkwhfhdfjkjkfbhiehf";
    [self presentViewController:self.messageController animated:YES completion:nil];
}

그러나 불행히도 MFMessageComposeViewController가 표시되면의 값 messageBody은 null입니다. 이 시나리오에서 내가 잘못하고있는 곳. 내 변수가 MessageControllerKony.h클래스에 전달되지 않는 이유는 무엇 입니까?

DonMag

OK-서브 클래 싱 MFMessageComposeViewController을 했으므로 클래스 에서 사용할 수있는 속성 / 메서드가 있습니다.

.h파일 에는 다음이 필요하지 않습니다 .

//@property (strong, nonatomic) NSString *messageBody;
//@property (strong, nonatomic) NSString *receivingNumber;

다음 MFMessageComposeViewController과 같이 사용자 정의를 호출 할 수 있습니다 .

self.messageController = [[MessageControllerKony alloc]init];

//self.messageController.messageBody = @"jfhjkhasfjhkwhfhdfjkjkfbhiehf";

[self.messageController setBody:@"jfhjkhasfjhkwhfhdfjkjkfbhiehf"];
[self.messageController setRecipients:[NSArray arrayWithObject: @"13123123"]];

[self presentViewController:self.messageController animated:YES completion:nil];

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

한 클래스에서 다른 클래스로 배열을 어떻게 전달할 수 있습니까?

분류에서Dev

클래스의 한 함수에서 다른 함수로 동적 값 전달

분류에서Dev

같은 값을 가진 한 클래스에서 다른 클래스로 rand 변수 전달

분류에서Dev

클래스의 함수에서 Swift의 다른 함수로 변수를 전달할 수 없습니다.

분류에서Dev

Visual Studio C ++의 다른 클래스에서 한 클래스에 액세스 할 수 없습니다.

분류에서Dev

다른 클래스에서 jbutton 액션을 사용하여 한 클래스에서 다른 클래스로 jcombobox 변수 전달

분류에서Dev

한 클래스에서 다른 클래스로 정수 전송

분류에서Dev

관련없는 한 클래스에서 다른 클래스로 변수 값 전송

분류에서Dev

Java의 다른 클래스에서 한 클래스에 액세스 할 수 없습니다.

분류에서Dev

c # 다른 클래스의 이벤트에 대한 매개 변수를 기본 클래스로 전달

분류에서Dev

Objective-C 파일에서 Swift 클래스의 변수에 액세스 할 수 없습니다.

분류에서Dev

내 숫자 배열을 다른 클래스로 전달할 수 없습니다.

분류에서Dev

Java에서 한 클래스에서 다른 클래스로 변수를 어떻게 전달합니까?

분류에서Dev

Java에서 한 클래스에서 다른 클래스로 변수를 어떻게 전달합니까?

분류에서Dev

다시 시작한 후 다른 클래스의 SharedPreferences 값에 액세스 할 수 없습니다.

분류에서Dev

클래스의 메서드를 매개 변수로 C ++의 다른 클래스에 전달

분류에서Dev

Python-다른 클래스 초기화에 대한 인수의 기본값으로 클래스 메서드 전달

분류에서Dev

클래스 B에서 다른 클래스 A의 NSArray에 값을 어떻게 추가 할 수 있습니까?

분류에서Dev

Java가 동일한 클래스에서 정적 변수의 값을 가져올 수 없습니다.

분류에서Dev

한 클래스의 함수를 다른 클래스의 다른 함수의 인수로 전달하는 방법

분류에서Dev

Java가 한 클래스의 이전 변수 값을 다른 클래스에서 가져 오는 이유는 무엇입니까?

분류에서Dev

C ++ 다른 함수에서 클래스 멤버의 값 할당

분류에서Dev

다른 클래스에서 열거 형 변수의 값을 어떻게 변경할 수 있습니까?

분류에서Dev

한 클래스에서 다른 클래스의 지역 변수에 액세스

분류에서Dev

다른 클래스의 한 클래스에서 함수 호출

분류에서Dev

Qt에서 GLWidget 클래스의 참조를 전달할 수 없습니다.

분류에서Dev

Python, 클래스에는 속성이 없습니다. 클래스에 전달 된 값의 값을 어떻게 반환 할 수 있습니까?

분류에서Dev

C ++에서 클래스의 변수를 수정할 수 없습니다.

분류에서Dev

클래스에서 값을 검색 할 수 없습니다.

Related 관련 기사

  1. 1

    한 클래스에서 다른 클래스로 배열을 어떻게 전달할 수 있습니까?

  2. 2

    클래스의 한 함수에서 다른 함수로 동적 값 전달

  3. 3

    같은 값을 가진 한 클래스에서 다른 클래스로 rand 변수 전달

  4. 4

    클래스의 함수에서 Swift의 다른 함수로 변수를 전달할 수 없습니다.

  5. 5

    Visual Studio C ++의 다른 클래스에서 한 클래스에 액세스 할 수 없습니다.

  6. 6

    다른 클래스에서 jbutton 액션을 사용하여 한 클래스에서 다른 클래스로 jcombobox 변수 전달

  7. 7

    한 클래스에서 다른 클래스로 정수 전송

  8. 8

    관련없는 한 클래스에서 다른 클래스로 변수 값 전송

  9. 9

    Java의 다른 클래스에서 한 클래스에 액세스 할 수 없습니다.

  10. 10

    c # 다른 클래스의 이벤트에 대한 매개 변수를 기본 클래스로 전달

  11. 11

    Objective-C 파일에서 Swift 클래스의 변수에 액세스 할 수 없습니다.

  12. 12

    내 숫자 배열을 다른 클래스로 전달할 수 없습니다.

  13. 13

    Java에서 한 클래스에서 다른 클래스로 변수를 어떻게 전달합니까?

  14. 14

    Java에서 한 클래스에서 다른 클래스로 변수를 어떻게 전달합니까?

  15. 15

    다시 시작한 후 다른 클래스의 SharedPreferences 값에 액세스 할 수 없습니다.

  16. 16

    클래스의 메서드를 매개 변수로 C ++의 다른 클래스에 전달

  17. 17

    Python-다른 클래스 초기화에 대한 인수의 기본값으로 클래스 메서드 전달

  18. 18

    클래스 B에서 다른 클래스 A의 NSArray에 값을 어떻게 추가 할 수 있습니까?

  19. 19

    Java가 동일한 클래스에서 정적 변수의 값을 가져올 수 없습니다.

  20. 20

    한 클래스의 함수를 다른 클래스의 다른 함수의 인수로 전달하는 방법

  21. 21

    Java가 한 클래스의 이전 변수 값을 다른 클래스에서 가져 오는 이유는 무엇입니까?

  22. 22

    C ++ 다른 함수에서 클래스 멤버의 값 할당

  23. 23

    다른 클래스에서 열거 형 변수의 값을 어떻게 변경할 수 있습니까?

  24. 24

    한 클래스에서 다른 클래스의 지역 변수에 액세스

  25. 25

    다른 클래스의 한 클래스에서 함수 호출

  26. 26

    Qt에서 GLWidget 클래스의 참조를 전달할 수 없습니다.

  27. 27

    Python, 클래스에는 속성이 없습니다. 클래스에 전달 된 값의 값을 어떻게 반환 할 수 있습니까?

  28. 28

    C ++에서 클래스의 변수를 수정할 수 없습니다.

  29. 29

    클래스에서 값을 검색 할 수 없습니다.

뜨겁다태그

보관