サブクラス PFObject - がありConversation
ます。users
プロパティのカスタム セッターが必要です。
だから私はに変更@dynamic
しました@synthesize
:
@synthesize users = _users;
そして、私のセッターを次のようにセットアップします:
-(void)setUsers:(NSArray *)users {
@synchronized (self)
{
_users = users;
self.numUsers = @(users.count);
[self setReadWriteACLsForUsers:users];
}
}
私のコントローラーでは、次のように設定しましたusers
:
self.conversation.users = users;
NSLog(@"self.conversation = %@",self.conversation);
セッターにブレークポイントを設定しましたusers
が、問題なく実行されているようですが、ログself.conversation
ではusers
プロパティはnil
.
編集
セッター/ゲッターをこれに変更しました:
-(void)setUsers:(NSArray *)users {
@synchronized (self)
{
[super setObject:users forKey:[Conversation usersKey]];
self.numUsers = @(users.count);
[self setReadWriteACLsForUsers:users];
}
}
- (NSArray *)users
{
NSArray *ret = nil;
@synchronized (self)
{
ret = [super objectForKey:[Conversation usersKey]];
}
return ret;
}
ゲッターにブレークポイントを設定するとret
、正しい値が含まれます。
ただし、この同じconversation
インスタンスでは、XCode では、カスタム セッター/ゲッターを設定している 2 つのインスタンス変数に対して nil が表示されます。
http://imgur.com/6gjggN2 - 画像をインラインで投稿するには評判が 10 必要です
したがって、基本的に合成されたインスタンス変数は PFObject のオブジェクト キーに対応しておらず、これを調整する方法がわかりません。