init에서 Objective C 클래스 변수를 초기화하는 방법은 무엇입니까?

첸 리 용

에는 다음 @interface과 같은 선언이 있습니다.

@interface myClass {
   NSDictionary * myData;
}

@property (nonatomic, assign) NSDictionary * data;
+ (id) initWithData:(NSDictionary *)data;

@end

에는 @implementation이 코드가 있습니다.

@implementation

@synthesize data;

+ (id) initWithData:(NSDictionary *)freshData {
    self = [super init];
    if (self) {
        self->data = freshData;
    }
    return self;
}

@end

하지만 오류가 발생했습니다 Incomplete definition of type 'struct objc_classself->data.

으로 변경하면 self.data오류가 발생합니다.Member reference type 'struct objc_class *' is a pointer; did you mean to use '->'?

를 제거하면 self`인스턴스 변수 '데이터'가 클래스 메서드에서 액세스되었습니다.

그러나 메서드 유형을 +(클래스 메서드)에서 -(인스턴스 메서드)로 변경하면 init에 액세스 할 수 없습니다.

그리고 할당을 data에서 myData둘 중 하나로 변경하여이 오류를 수정할 수 없습니다 .

생성자는 어떻게 만들어야합니까?

내가 배운 (그러나 도움이되지 않는) 링크는 다음과 같습니다.

범위

이렇게도 할 수 있어요

+ (id) initWithData:(NSDictionary *)freshData {
    return [[self alloc]initWithData:freshData];
}
- (instancetype) initWithData:(NSDictionary *)freshData {

    NSParameterAssert(freshData != nil);

    self = [super init];

    if (self) {
        self.data = freshData;
    }

    return self;
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 클래스의 priority_queue를 초기화하는 방법은 무엇입니까?

분류에서Dev

C #에서 클래스 개체 초기화를 개선하는 방법은 무엇입니까?

분류에서Dev

C ++에서 정적 클래스 객체를 초기화하는 방법은 무엇입니까?

분류에서Dev

C ++에서 복사 할 수없는 정적 멤버 변수를 클래스에서 초기화하는 방법은 무엇입니까?

분류에서Dev

Objective-C에서 세 개의 데이터 변수를 포함하는 클래스에 데이터를 저장하는 방법은 무엇입니까?

분류에서Dev

Objective-C의 다른 클래스에서 데이터를로드하는 방법은 무엇입니까?

분류에서Dev

Objective C의 매개 변수화 된 생성자에서 NSDate를 초기화하는 방법은 무엇입니까?

분류에서Dev

`init`에서 스레드로부터 안전한 변수를 초기화하는 방법은 무엇입니까?

분류에서Dev

루비의 특정 클래스에서만 클래스를 초기화하는 방법은 무엇입니까?

분류에서Dev

Objective C를 사용하여 한 클래스에서 여러 클래스로 UIObject를 재사용하는 방법은 무엇입니까?

분류에서Dev

Objective C 클래스 외부에서 개인 인스턴스 변수 / 속성을 가져오고 설정하는 방법은 무엇입니까?

분류에서Dev

Objective C에서 정규화 된 클래스 이름을 지정하는 방법은 무엇입니까?

분류에서Dev

Swift 클래스를 Objective-C에 노출하지 않고 Objective-C 프로토콜을 준수하도록 만드는 방법은 무엇입니까?

분류에서Dev

Objective-c를 사용하여 사용자 정의 초기화 구현을 인터페이스에 노출하는 방법은 무엇입니까?

분류에서Dev

C ++에서 생성자 (생성자 만)를 사용하여 클래스에서 큰 전용 배열을 초기화하는 방법은 무엇입니까?

분류에서Dev

Swift 클래스에서 Objective-C NSMutableDictionary에 액세스하는 방법은 무엇입니까?

분류에서Dev

런타임에서 Objective-C 클래스 속성에 액세스하는 방법은 무엇입니까?

분류에서Dev

비 클래스 함수 C ++에서 클래스 내 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

루프없이 C #에서 클래스의 'NotNull'배열을 초기화하는 방법은 무엇입니까?

분류에서Dev

C ++ 클래스에서 변수를 디버그하는 방법은 무엇입니까?

분류에서Dev

Objective-C에서 메서드를 재정 의하여 하위 클래스를 임시로 정의하는 방법은 무엇입니까?

분류에서Dev

클래스 생성자에서 익명 구조를 초기화하는 방법은 무엇입니까?

분류에서Dev

루비에서 모듈 클래스를 초기화하는 방법은 무엇입니까?

분류에서Dev

mvc에서 HashSet 부분 클래스를 다시 초기화하는 방법은 무엇입니까?

분류에서Dev

매개 변수를 사용하여 클래스 생성자에서 std :: array의 크기를 초기화하는 방법은 무엇입니까?

분류에서Dev

정적 클래스 변수를 사용하는 클래스의 __init__에서 기본 인수를 정의하는 방법은 무엇입니까?

분류에서Dev

C ++에서 클래스를 인스턴스화하는 가장 선호되는 방법은 무엇입니까?

분류에서Dev

Objective-C의 프록시 개체에서 선택기를 테스트하는 방법은 무엇입니까?

분류에서Dev

Swift에서 튜플 배열 매개 변수로 클래스 초기화를 호출하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    C ++에서 클래스의 priority_queue를 초기화하는 방법은 무엇입니까?

  2. 2

    C #에서 클래스 개체 초기화를 개선하는 방법은 무엇입니까?

  3. 3

    C ++에서 정적 클래스 객체를 초기화하는 방법은 무엇입니까?

  4. 4

    C ++에서 복사 할 수없는 정적 멤버 변수를 클래스에서 초기화하는 방법은 무엇입니까?

  5. 5

    Objective-C에서 세 개의 데이터 변수를 포함하는 클래스에 데이터를 저장하는 방법은 무엇입니까?

  6. 6

    Objective-C의 다른 클래스에서 데이터를로드하는 방법은 무엇입니까?

  7. 7

    Objective C의 매개 변수화 된 생성자에서 NSDate를 초기화하는 방법은 무엇입니까?

  8. 8

    `init`에서 스레드로부터 안전한 변수를 초기화하는 방법은 무엇입니까?

  9. 9

    루비의 특정 클래스에서만 클래스를 초기화하는 방법은 무엇입니까?

  10. 10

    Objective C를 사용하여 한 클래스에서 여러 클래스로 UIObject를 재사용하는 방법은 무엇입니까?

  11. 11

    Objective C 클래스 외부에서 개인 인스턴스 변수 / 속성을 가져오고 설정하는 방법은 무엇입니까?

  12. 12

    Objective C에서 정규화 된 클래스 이름을 지정하는 방법은 무엇입니까?

  13. 13

    Swift 클래스를 Objective-C에 노출하지 않고 Objective-C 프로토콜을 준수하도록 만드는 방법은 무엇입니까?

  14. 14

    Objective-c를 사용하여 사용자 정의 초기화 구현을 인터페이스에 노출하는 방법은 무엇입니까?

  15. 15

    C ++에서 생성자 (생성자 만)를 사용하여 클래스에서 큰 전용 배열을 초기화하는 방법은 무엇입니까?

  16. 16

    Swift 클래스에서 Objective-C NSMutableDictionary에 액세스하는 방법은 무엇입니까?

  17. 17

    런타임에서 Objective-C 클래스 속성에 액세스하는 방법은 무엇입니까?

  18. 18

    비 클래스 함수 C ++에서 클래스 내 함수를 작성하는 방법은 무엇입니까?

  19. 19

    루프없이 C #에서 클래스의 'NotNull'배열을 초기화하는 방법은 무엇입니까?

  20. 20

    C ++ 클래스에서 변수를 디버그하는 방법은 무엇입니까?

  21. 21

    Objective-C에서 메서드를 재정 의하여 하위 클래스를 임시로 정의하는 방법은 무엇입니까?

  22. 22

    클래스 생성자에서 익명 구조를 초기화하는 방법은 무엇입니까?

  23. 23

    루비에서 모듈 클래스를 초기화하는 방법은 무엇입니까?

  24. 24

    mvc에서 HashSet 부분 클래스를 다시 초기화하는 방법은 무엇입니까?

  25. 25

    매개 변수를 사용하여 클래스 생성자에서 std :: array의 크기를 초기화하는 방법은 무엇입니까?

  26. 26

    정적 클래스 변수를 사용하는 클래스의 __init__에서 기본 인수를 정의하는 방법은 무엇입니까?

  27. 27

    C ++에서 클래스를 인스턴스화하는 가장 선호되는 방법은 무엇입니까?

  28. 28

    Objective-C의 프록시 개체에서 선택기를 테스트하는 방법은 무엇입니까?

  29. 29

    Swift에서 튜플 배열 매개 변수로 클래스 초기화를 호출하는 방법은 무엇입니까?

뜨겁다태그

보관