菜鸟教程小白 发表于 2022-12-12 12:06:17

ios - 子类 PFObject 上的 PFUser 属性


                                            <p><p>我使用以下类对 PFObject 进行了子类化(动态属性,以及 .m 文件中的 +load 和 parseClassName 方法)</p>

<pre><code>@interface DAOpponents : PFObject &lt;PFSubclassing&gt;
@property (nonatomic, strong) PFObject* fromUser;
@property (nonatomic, strong) PFObject* toUser;
@property (nonatomic) BOOL isVisible;
@property (nonatomic) BOOL isPersistent;
+ (NSString *)parseClassName;
@end
</code></pre>

<p>在单元测试中,我尝试创建一个示例 DAOpponents-Object:</p>

<pre><code>DAOpponents* follow = ;
follow.fromUser = user1; // caught &#34;NSInvalidArgumentException&#34;, &#34;PFObject values may not have class: PFUser&#34;
follow.toUser = user2;
;
</code></pre>

<p>如果我在没有对手的子类版本的情况下做同样的事情,就没有异常(exception)</p>

<pre><code>PFObject* follow = [ initWithClassName:@&#34;DAOpponents&#34;];
; // no exception!!!
;
</code></pre>

<p>为什么子类PFObject不能指向PFUser对象?</p>

<p>任何帮助表示赞赏!非常感谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我能够通过首先对 PFUser 进行子类化,然后在我的其他 PFObject 子类中使用名为 <code>User</code> 的子类来解决这个问题。</p>

<p>我的 PFUser 子类,User.h:</p>

<pre><code>#import &lt;Parse/Parse.h&gt;

@class Person;
@class Parish;

@interface User : PFUser&lt;PFSubclassing&gt;
//+ (NSString *)parseClassName;

// Return the current user
+ (User *)currentUser;

@property (retain) NSNumber *acceptedAgreements;
@property (retain) NSNumber *isAdmin;
@property (retain) Person *person;

@end
</code></pre>

<p>还有我的 User.m:</p>

<pre><code>#import &#34;User.h&#34;
#import &lt;Parse/PFObject+Subclass.h&gt;
#import &#34;Person.h&#34;

@implementation User

@dynamic acceptedAgreements;
@dynamic isAdmin;
@dynamic person;

//+ (NSString *)parseClassName {
//    return @&#34;User&#34;;
//}

// Return the current user
+ (User *)currentUser {
    return (User *);
}

@end
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 子类 PFObject 上的 PFUser 属性,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26318276/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26318276/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 子类 PFObject 上的 PFUser 属性