카테고리 없음

[iOS] 앱의 메인 뷰와 플립 사이드 뷰 모두에서 사용할 전역 변수를 어떻게 선언합니까?

행복을전해요 2021. 2. 23. 02:36

전역 변수를 사용하도록 설정 한 경우 데이터를 보관하기 위해 싱글 톤을 사용하는 것을 고려할 수 있습니다. 여기에 싱글 톤에 대한 좋은 튜토리얼이 있습니다 : http://www.galloway.me.uk/tutorials/singleton-classes/- 기본적으로 애플리케이션 전체에서 공유 할 수 있고 다른 컨트롤러에서 액세스 / 수정할 수있는 클래스입니다. 여기에 속성을 만들고 플립 뷰에서 해당 속성에 쓴 다음 기본보기에서 해당 속성에 액세스 할 수 있습니다.

#import "Singleton.h"

@implementation Singleton

@synthesize yourTextField;

#pragma mark Singleton Methods

+ (id)sharedManager {
    static Singleton *sharedMyManager = nil;
        static dispatch_once_t onceToken;
            dispatch_once(&onceToken, ^{
                    sharedMyManager = [[self alloc] init];
                        });
                            return sharedMyManager;
                            }
                            
                            - (id)init {
                                if (self = [super init]) {
                                        yourTextField = @"";
                                            }
                                                return self;
                                                }
                                                

헤더 파일을 가져 와서 코드에서 호출 할 수 있습니다.

Singleton *mySingleton = [Singleton sharedManager];

mySingleton 객체에는 텍스트 필드가 첨부됩니다. 다음을 통해 액세스 할 수 있습니다.

mySingleton.yourTextField;

.h 파일 :

#import <Foundation/Foundation.h>

@interface Singleton : NSObject

@property (nonatomic, strong) NSString *yourTextField;

+ (id)sharedManager;

@end
-------------------

싱글 톤 (dispatch_once 기억), 정적 변수 또는 NSUserDefaults. 정말로 필요한 것이 무엇인지에 달려 있습니다.

스토리 보드를 사용 중이고 VC간에 데이터를 전달하려는 경우 "prepareForSegue"메서드 (여기에 설명되어 있음 https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference)를 사용할 수 있습니다. .html # // apple_ref / occ / instm / UIViewController / prepareForSegue : sender :).

Segue에는 "destinationController"속성이 있으므로 표시하기 전에 VC를 설정할 수 있습니다.



출처
https://stackoverflow.com/questions/22080028