我有一个应用程序保存要解析的图像,它包含第一个VC中的集合视图和一个详细视图控制器,您可以通过UIImagePickerController添加图片。我曾经在Objective-C中使用过一些解析,但不断收到此错误
// Use 0 if the value is not an Int
let value = Int(myTextField.text ?? "") ?? 0
我在项目中有一个带有属性的解析类,我知道有不同的方法,但我通常这样做,没有问题。
解析类头文件
strSrc = $(this).attr('src');
var timestamp = new $.now();
$(this).attr('src', strSrc + "?i=" + timestamp );
this.player.load();
this.player.play();
.m文件
[PFObject setPhoto:]: unrecognized selector sent to instance 0x7fa15ac8f1c0
这是我保存图片的地方
#import <Parse/Parse.h>
@interface Picture : PFObject <PFSubclassing>
@property (nonatomic, strong) NSString *Caption;
@property (nonatomic, strong) NSArray *Likes;
@property (nonatomic, strong) PFFile *Photo;
+ (NSString *)parseClassName;
@end
我一开始认为它可能是图像的大小,但当我评论该部分而只是尝试保存标题时,我得到相同的错误,但是使用“setCaption”而不是“setPhoto”
更新:对象已保存到解析但列中没有数据,键(属性)拼写正确,一切都是。
谢谢!
答案 0 :(得分:0)
问题似乎是在自定义PFObject上没有创建动态生成的setter。
问题可能是您选择的属性案例。 Apple定义的约定是以小写字母开始一个属性,然后将其作为驼峰大小写。您应该将大小写更改为小写,因为这可能会导致与getter的创建冲突。
你已经拥有
PFObject *object = [PFObject objectWithClassName:@"Picture"];
我猜你的代码不适用。
我可以建议的另一件事是移动
picture.Photo = file;
picture.Caption = nameString;
在块之外并将其放在PFFile *file = [PFFile...
之后并删除
[picture saveInBackground];
因为您似乎要将图片对象保存两次。根据您在Parse中获得的空记录对应的描述。因此,正在成功执行该保存。这是失败的第二次保存。
另外,请尝试添加
#import <Parse/PFObject+Subclass.h>
到您的实现(.m)文件,因为这是定义object
的类方法的地方。