Mac OS X 프로그램을 작성할 때 ARC를 사용하고 있는데 흥미로운 문제가 있습니다. 다음과 같이 .H에 선언ARC를 사용할 때 속성 값이 nil이 아닌 값으로 지정되면 자동으로 nil로 설정됩니다.
@property Profile *profile;
(void) setProfile:(Profile *) newProfile;
(Profile *) profile;
및 변수 프로필 : 내 .H 파일에는 다음 줄이 포함
Profile *profile;
내하는 .m 파일은 등록 정보에 대한 다음과 같은 구현이 있습니다
를(void) setProfile:(Profile *) newProfile
{
profile = newProfile;
if (profile)
{
[profileNameTextField setStringValue:profile.name];
}
}
(Profile *) profile
{
return profile;
}
setProfile 메서드가 훌륭하게 작동하면 프로필이 nil이 아닌 값으로 설정됩니다. 문제는 .m 파일의 다른 메소드가 프로파일에 액세스하려고하면 프로파일이 nil이라는 것입니다. 아무도 내가 뭘 잘못하고 있을지 알아? 나는 아직도
@property (nonatomic, strong) Profile *profile;
과 행운에
@property Profile *profile;
을 변경했습니다. 모두에게 감사드립니다.
이것은 컴파일되지 않습니다. 사용중인 실제 코드를 게시하십시오. – Sebastian