标签: pfobject

类型参数不能应用于PFAnalytics和PFObject中的非参数化类BFTask

我已将我的项目更新到iOS 9,我的podfile和所有必需的文件,但它不会构建.我悲伤的根源是以下错误消息:

Type arguments cannot be applied to non-parameterized class 'BFTask'

这是唯一显示的错误,但它在两者中都显示多次PFAnalytics.h,可能更重要PFObject.h.

有人能告诉我这意味着什么,请建议一个解决方案?我希望我提供了足够的信息,但如果没有,请告诉我!

**更新01:**我无法发布错误的屏幕截图,因为我的声誉不够.

代码示例如下:在PFObject.h和中PFAnalytics.h,到处都有以下内容:

(BFTask PF_GENERIC(XXSOMECLASS *)*) someMethod; 
Run Code Online (Sandbox Code Playgroud)

抛出错误.这是不是我的代码,它是PFObject.hPFAnalytics.h以前一样说.抛出错误的函数示例PFObject.h如下

- (BFTask PF_GENERIC(NSNumber *)*)saveInBackground; 
- (BFTask PF_GENERIC(NSNumber *)*)saveEventually;
- (BFTask PF_GENERIC(NSNumber *)*)deleteInBackground;
+ (BFTask PF_GENERIC(NSNumber *)*)saveAllInBackground:(PF_NULLABLE NSArray *)objects;
+ (BFTask PF_GENERIC(NSNumber *)*)deleteAllInBackground:(PF_NULLABLE NSArray *)objects;
// .... etc
Run Code Online (Sandbox Code Playgroud)

当点击停止标志时,建议是删除PF_GENERIC(NSNumber*),导致这样的方法

 - (BFTask *)xxsomeMethod; 
Run Code Online (Sandbox Code Playgroud)

但这并没有帮助,因为它变得更加混乱

更新02:我的内容Podfile:

# Uncomment this line to define a global platform for your …
Run Code Online (Sandbox Code Playgroud)

objective-c parse-platform pfobject bftask

13
推荐指数
1
解决办法
3325
查看次数

最终使用PFFile(解析本地数据存储区)保存在PFObject上?

目标

我试图保存一个PFObject具有PFFile属性的.我正在使用新的Local Datastore for iOS,所以我想PFObject用这个saveEventually()方法保存它.

问题

我遇到的问题是该saveEventually()方法似乎不喜欢保存PFFiles.我试着saveEventually()没有PFFile附加任何物体,这很好用.一旦我PFFile重新连接,Xcode会抛出几个断点通知(错误?)但是没有终止应用程序,看起来好像一切顺利 - 但是对Parse数据浏览器的检查确认保存没有通过.

在本地数据存储功能之前,我不相信这种保存是可能的 - 它会抛出"Unable to saveEventually a PFObject with a relation to a new, unsaved PFFile."错误.似乎本地数据存储区功能已修复此问题,因为它在iOS本地数据存储区文档中声明:

"固定PFObject是递归的,就像保存一样,所以你固定的对象所指向的任何对象也都会被固定.当一个对象被固定时,每次通过获取或保存新数据来更新它时,复制到本地数据存储区将自动更新.您根本不需要担心它."

我已将SDK更新到最新版本(v1.6.2).有任何想法吗?

ios parse-platform pffile pfobject local-datastore

10
推荐指数
1
解决办法
4345
查看次数

PFQuery FindObjectsInBackground返回0

在我的UIViewController我试图查询我的解析服务器,但我不断得到它的返回0,虽然我知道100%这个类确实有对象.有什么想法吗?

 PFQuery *query = [PFQuery queryWithClassName:@"General"];

 int i;
 for (i = 0; i < [follows count]; i++) {
        [query whereKey:@"Session" containedIn:follows];
 }
 query.cachePolicy = kPFCachePolicyCacheThenNetwork;

 [query orderByDescending:@"createdAt"];
 [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
 // it never gets here...
 NSLog(@"OBJECTS%@", objects);
 if (!error) {
     NSLog(@"Successfully retrieved %lu objects.", (unsigned long)objects.count);
     for (PFObject *object in objects) {
         NSLog(@"%@", object.objectId);
     }

     // [self gotoMain];
 } else {
       NSLog(@"Error: %@ %@", error, [error userInfo]);
   }
 }];
Run Code Online (Sandbox Code Playgroud)

它告诉我在控制台中成功检索0个对象没有错误.

xcode ios parse-platform pfquery pfobject

9
推荐指数
1
解决办法
168
查看次数

Swift按键排序字典数组,其中value是可选的AnyObject

我正在直接从Parse中提取一系列字典并将它们显示在表格中.所以我真的很想处理我所掌握的数据结构(下面奇怪的结构化词典).

A PFObject[String : AnyObject?],我希望能够按任意键排序,所以我不知道对象类型,并且某些字典可能缺少密钥.因为在Parse中,如果不给属性赋值,则它根本就不存在.例如:

[
    {
        "ObjectId" : "1",
        "Name" : "Frank",
        "Age" : 32
    },
    {
        "ObjectId" : "2",
        "Name" : "Bill"
    },
    {
        "ObjectId" : "3",
        "Age" : 18
    }
    {
        "ObjectId" : "4",
        "Name" : "Susan",
        "Age" : 47
    }
Run Code Online (Sandbox Code Playgroud)

]

我希望在排序的词典之后始终按顺序排列缺少键的词典.一个例子:

原表:

ObjectId   Name       Age
1          Frank      32
2          Bill     
3                     18
4          Susan      47
Run Code Online (Sandbox Code Playgroud)

按名称排序:

ObjectId   Name       Age
2          Bill       
1          Frank      32
4          Susan      47
3                     18
Run Code Online (Sandbox Code Playgroud)

由于我对数据模型没有太多控制权,并且它的使用在整个应用程序中受到限制,我更倾向于关注算法解决方案而不是结构化.

我想出了一个方法来做到这一点,但它似乎效率低而且速度慢,我确信有人可以做得更好.

//dataModel …
Run Code Online (Sandbox Code Playgroud)

arrays sorting ios swift pfobject

8
推荐指数
2
解决办法
4190
查看次数

parse.com键,预期字符串的无效类型,但得到数组

我尝试将我的数据保存到parse.com.我已经预先在parse.com上创建了一个名为'SomeClass'的类.它有一个名为'mySpecialColumn'的列,其数据类型为String.

这是我尝试使用以下代码保存数据的代码:

var groupObject = PFObject(className: "SomeClass")
    groupObject.addObject("aaa", forKey: "mySpecialColumn")
    groupObject.saveEventually()
Run Code Online (Sandbox Code Playgroud)

如果我运行这个我得到:

错误:密钥mySpecialColumn的无效类型,预期字符串,但得到数组(代码:111,版本:1.6.0)

这就是我在parse.com上的核心外观:

这就是我在parse.com上的核心外观

有谁知道我为什么会收到这个错误?我也试图以懒惰的方式,而不是预先创建数据类,只是动态创建它,但然后它创建所有列作为数据类型数组.

ios parse-platform swift pfobject

7
推荐指数
1
解决办法
4005
查看次数

如何防止Parse保存PFObject孩子的?

我正面临着Parse和iOS的一个非常普遍的问题.

我有一个具有以下结构的类POST:

  • text(String)
  • Image (PFFile)
  • LikesUsers (Array of String)
  • LikesCount (Int)
  • From (Pointer to User who posted it)

如果用户(已登录)喜欢帖子.我只是递增喜欢并将用户的Objectid添加到数组中

例如:User-2喜欢User-1的帖子.

PostObject.incrementKey("Likes")
PostObject.addObject((PFUser.currentUser()?.objectId)!, forKey: "LikesUsers")
PostObject.saveEventually()
Run Code Online (Sandbox Code Playgroud)

问题在这里.我不能保存PostObject,只要它有一个指向另一个用户的指针(比登录)我收到错误:

除非已通过logIn或signUp对用户进行身份验证,否则无法保存用户

那么如何防止保存ParseObject Children("From")

我不想使用CloudCode,我希望保持简单并使用SaveEventually来获得更好的用户体验.

ios parse-platform swift pfobject

7
推荐指数
1
解决办法
424
查看次数

解析:PFRelation和本地数据存储的问题

我正在用Parse构建一个聊天应用程序.我有一个"对话"课和一个"消息"课.对话可以有许多消息(一对多)关系.

此外,我正在使用本地数据存储区来缓存对象(使用PFRelation进行对话和消息).一切正常,直到我尝试从服务器获取更新的对话.请注意,我只是在查询对话,因此不会获取新的消息对象(根据Parse的文档可以预期).但令人惊讶的是,我甚至看不到来自本地数据存储区的消息.

有没有人知道将PFRelations正确存储到本地数据存储区的方法?

parsing pfrelation pfobject

5
推荐指数
1
解决办法
317
查看次数

解析 iOS 单元测试 PFUser 的子类

我正在尝试对 PFObject 子类的子类进行单元测试(使用 XCTest),但是我收到了所有此类子类的警告,这些子类是测试目标的一部分:

Class MySubclassOfSubclassOfPFObject is implemented in both /var/mobile/Containers/Bundle/Application/84C7811F-348E-42EF-9FF4-F243DB669591/MyApp.app/MyApp and /var/mobile/Containers/Data/Application/A84479A8-1ACD-4F7B-B02D-A28CB412CD14/tmp/MyAppTests.xctest/MyAppTests. One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)

我的 PFUser 子类也出现异常:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Tried to register both ParseUser and ParseUser as the native PFObject subclass of _User. Cannot determine the right class to use because neither inherits from the other.'
Run Code Online (Sandbox Code Playgroud)

我已经通过 cocoapods 安装了 Parse 1.12 并运行了 XCode 7.2。

我的 podfile 看起来像这样:

target 'Watchi' do
use_frameworks!
pod 'Parse' …
Run Code Online (Sandbox Code Playgroud)

unit-testing objective-c ios parse-platform pfobject

5
推荐指数
0
解决办法
144
查看次数

Swift:检索对象时,Parse子类动态var不包括在内

从Parse Data Browser检索对象时,我无法获取对象属性.这是在我从"@NSManaged var friends"变为"dynamic var friends"之后发生的.甚至"name"在User.logInWithUsernameInBackground块中显示为nil,因为登录成功,这是疯狂的.用户的ACL设置为"公共读取".

用户对象:

class User : PFUser, PFSubclassing {

    dynamic var friends:[User]!
    dynamic var name:String!

     override class func load() {
        self.registerSubclass()
    }
}
Run Code Online (Sandbox Code Playgroud)

与朋友一起检索用户.println显示零

var query = User.query()
query.includeKey("friends")
query.getObjectInBackgroundWithId(currentUser.objectId) {
    (pfObject: PFObject!, error: NSError!) -> Void in
    if pfObject != nil {
        var user = pfObject as User
        var friends = user.friends as [User]
        println("friends: \(friends)") //nil
   } else {
        println(error)
   }
}
Run Code Online (Sandbox Code Playgroud)

登录.println显示零

User.logInWithUsernameInBackground(USERNAME, password:PASSWORD) {
        (user: PFUser!, error: NSError!) -> Void in …
Run Code Online (Sandbox Code Playgroud)

dynamic subclass parse-platform swift pfobject

2
推荐指数
1
解决办法
2552
查看次数

子类PFObject和覆盖init

我想创建自定义PFObject类,但它给了我一个非常令人困惑的错误"属性self.photo未在super.init调用时初始化"

这是我的自定义类的代码:

import Foundation
import Parse

class Wish: PFObject, PFSubclassing {
var id: String?
var name: String?
var descriptionWish: String?
var photo: UIImage
var photoThumbnail: UIImage
var amount: Double?
var amountDonated: Int?

static func parseClassName() -> String {
    return "Wish"
}

override init() {
    super.init()

}



convenience init(id: String?, name: String?, descriptionWish: String?, photo: UIImage, photoThumbnail: UIImage, amount: Double?, amountDonated: Int?) {
    self.init()
    self.id = id
    self.name = name
    self.descriptionWish = descriptionWish
    self.photo = photo
    self.photoThumbnail = photoThumbnail
    self.amount = …
Run Code Online (Sandbox Code Playgroud)

initialization ios parse-platform swift pfobject

1
推荐指数
1
解决办法
554
查看次数