내 응용 프로그램에서 사용되는 정적 인스턴스 변수가 있습니다. 그것은 속성을 가지고 있습니다. 이러한 속성은 내 응용 프로그램을 통해 사용되며 꽤 잘 작동하는 것 같습니다. 그러나 때로는 속성이 조기에 공개됩니다. 이상한 점은 이러한 속성을 가져 오는 개체가 일부 속성을 유지하고 다른 속성을 해제한다는 것입니다. 내 개체의 속성이 조기에 공개되지 않도록하는 좋은 방법은 무엇입니까?정적 인스턴스가 ARC를 사용하여 속성을 조기에 해제
편집 : 그것은 문제가 전혀 방출 조기 아니라고 밝혀졌습니다. 전환 문제였습니다. 모두에게 도움을 주셔서 감사합니다.
@interface Game : NSObject
@property (nonatomic, strong) PFObject *gameObject;
//@property (nonatomic, strong) Concept *concept; // Will need to add Concept Object to GameObject once it's wrapper is done
@property (nonatomic, strong) User *initialPlayer;
@property (nonatomic, strong) User *invitedPlayer;
@property (nonatomic, strong) User *lastPlayedPlayer;
@property (nonatomic, strong) NSDate *lastPlayedDate;
@property (nonatomic, strong) NSDate *timeOutDate;
@property (nonatomic, assign) int timerTicks;
@property (nonatomic, assign) int currentRoundNumber;
@property (nonatomic, strong) User *winnerPlayer;
@property (nonatomic, assign) int initialPlayerPoints;
@property (nonatomic, assign) int invitedPlayerPoints;
@property (nonatomic, assign) int currentPlayerPoints;
@property (nonatomic, assign) GameStatus status;
@property (nonatomic, assign) int initialPlayerTimeouts;
@property (nonatomic, assign) int invitedPlayerTimeouts;
@property (nonatomic, assign) BOOL isInitialPlayer;
@property (nonatomic, strong) NSMutableDictionary *rounds;
@property (nonatomic, strong, readonly) Round *currentRound;
+(void)getActiveUserGameObjects:(PFUser *)user target:(id)target selector:(SEL)selector;
+(void)getYourTurnGameObjects:(PFUser *)user target:(id)target selector:(SEL)selector;
+(void)getTheirTurnGameObjects:(PFUser *)user target:(id)target selector:(SEL)selector;
+(void)getGameObjects:(PFUser *)user yourTurn:(id)yourTurn target:(id)target selector:(SEL)selector;
+(Game*)currentGame;
+(void)setCurrentGame:(Game*)currentGame;
..
//.m @implementation
..
static Game *sharedInstance = nil;
..
+(Game*)currentGame
{
return sharedInstance;
}
+(void)setCurrentGame:(Game*)currentGame
{
sharedInstance = currentGame;
}
...
#pragma mark - Player Setters and Getters
-(void)setInvitedPlayer:(User *)invitedPlayer
{
if (nil != invitedPlayer.userObject)
{
[self.gameObject setObject:invitedPlayer.userObject forKey:GAME_INVITED_PLAYER];
}
}
-(User*)invitedPlayer
{
NSObject *value = [self.gameObject objectForKey:GAME_INVITED_PLAYER];
if ([value isKindOfClass:[PFUser class]])
{
return [User userFromPFUser:(PFUser*)value];
}
return nil;
}
속성에 어떤 momory 속성을 사용합니까? – Matthias
헤더를 게시하면 아무도 게시 한 항목의 속성을 정의한 방법을 결정할 수 없습니다. – Sam
좀비 도구로 앱을 테스트 해보십시오. 그렇게하면 너무 많은 시간에 릴리스 된 개체의 전체 보존/릴리스 기록을 얻을 수 있습니다. –