2014-02-24 3 views
1

나는 vendored objective-c 클래스를 다시 열지 만 무한한 원인이되지 않도록 _username 합성 인스턴스 변수에 액세스 할 수있는 명확한 방법으로 고민하고 있습니다. 재귀. 이것은 매우 직설적이어야하지만 아직 실행 가능한 해결책을 찾지 못한 것처럼 보입니다.vendored 클래스에서 합성 속성의 인스턴스 변수에 액세스하는 방법

User.h

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 


@interface User : NSManagedObject 

@property (nonatomic, retain) NSString * username; 

@end 

나는 원래 그들이 @dynamic 선언 및 실행시에 생성되어 있기 때문에, rubymotion 정의되지 않은 충돌을 얻을 것이다 alias_method :original_username, :username을 시도

# reopens User < NSManagedObjectContext 
class User 

    def username 
    # how do i access _username instance var of User.h ?? 
    end 

end 
+0

'@_username'을 (를) 사용해 보셨나요? – vacawama

+0

@vacawama 예, 작동하지 않는 동일한 "네임 스페이스" –

답변

0

user.rb 사용자 이름. Managed Object Accessor Methods을 읽은 후 대체 솔루션을 찾았습니다.

- (NSString *)name 
{ 
    [self willAccessValueForKey:@"name"]; 
    NSString *myName = [self primitiveName]; 
    [self didAccessValueForKey:@"name"]; 
    return myName; 
}