簡體   English   中英

PFObject子類的Getter和Setter?

[英]PFObject Subclass Getters and Setters?

我有一個簡單的PFObject子類設置。 MyPFSubclass 看起來像這樣:

@interface MyPFSubclass: PFObject <PFSubclassing>

+ (NSString *)parseClassName;

@property (retain) NSString *myString;

@end

#import <Parse/PFObject+Subclass.h>

@implementation MyPFSubclass

@dynamic myString;

+ (NSString *)parseClassName {
return @”MyPFSubclass”;
}
@end

正如我所料,這一直很有效,直到我今天發現了。

我可以設置myString值並按預期​​方式進行讀寫, NSLog顯示的數據就是我設置的數據。

MyPFSubclass *obj = [MyPFSubclass new];

obj.myString = "@hello";
//prints expected value as set above
NSLog(@"%@", obj.myString);

obj[@"myString"] = "@hello";
//prints expected value as set above, again
NSLog(@"%@", obj[@"myString"]);

但是,如果執行以下操作,則不會得到更改的結果。

obj[@"myString"] = @"Hello";
//prints original value, not as set above
NSLog(@"%@", obj.myString);

似乎鍵名設置器和獲取器獨立於子類設置器和獲取器。 我不要這個!

例如,我有一個子類化的視圖,該視圖采用通用的PFObject和鍵名,可以從中獲取和設置值。

我該如何解決? 為什么不能混合使用子類和鍵名獲取器和設置器?

沒有確切的答案,但這是一個解決方案。

我發現在使用PFObject子類的情況下,使用setValue:forKeyPath比使用Parse自己的包圍式語法更可靠。 myObject[@"myAttribute"]

在后者看起來不能與子類屬性互換的情況下,我發現用setValue:forKeyPath代替它是setValue:forKeyPath

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM