2014-02-24 99 views
1

我重新打開了一個有售價的objective-c類,但我正在努力使用一種乾淨的方式來訪問_username合成的實例變量,以便不會導致無限遞歸。這似乎應該是非常直接的,但還沒有找到一個可行的解決方案。如何訪問自動化類的綜合屬性的實例變量

User.h

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


@interface User : NSManagedObject 

@property (nonatomic, retain) NSString * username; 

@end 

user.rb

# 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

我最初試圖alias_method :original_username, :username而是因爲他們被宣佈@dynamic並在運行時產生的,rubymotion會得到一個未定義的崩潰用戶名。在閱讀Managed Object Accessor Methods後,我找到了一個替代解決方案。

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