1

サブクラス 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 のオブジェクト キーに対応しておらず、これを調整する方法がわかりません。

4

0 に答える 0