gpt4 book ai didi

swift - 使用 Swift 而不是 Objective-C 从解析数据中保存对象

转载 作者:行者123 更新时间:2023-11-30 10:12:04 26 4
gpt4 key购买 nike

我正在将我的 ViewControllerObjective-C 转换为 Swift

我想知道 findObjectsInBackgroundWithBlock 是否是仍在使用的最明智的东西(或者加载速度是否太慢),以及我是否应该以同样的方式使用它.

我使用它来获取我的 Parse 数据并将其保存到我的 App Group 和/或 NSUserDefaults

    // Query Parse
PFQuery *query = [PFQuery queryWithClassName:@"data"];

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {

NSMutableArray *localMatchup = [@[] mutableCopy];

for (PFObject *object in objects) {


// Add objects to local Arrays
[localMatchup addObject:[object objectForKey:@"matchup"]];

// App Group
NSString *container = @"group.com.ramsden.playoffs";
NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:container];

// Matchup
[defaults setObject:localMatchup forKey:@"KeyMatchup"];
NSArray *savedMatchup = [defaults objectForKey:@"KeyMatchup"];
self.matchupArray = localMatchup;

更新:我尝试了下面 Lamar 的答案,但在 findObjectsInBackgroundWithBlock 行上收到错误,显示: '([AnyObject]!, NSError!) -> Void' 与 'PFArrayResultBlock 不兼容?

enter image description here下面仔细看看具体的行: enter image description here

最佳答案

试试这个:

func GetBackFromParse(localMatchUp:NSMutableArray){
var query = PFQuery(className: "data")
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in

if error == nil
{

if let objects = objects as? [PFObject]{

for SingleObject in objects
{

var matchup = SingleObject["matchup"]
localMatchUp.addObject(matchup!)

// do whatever you want to do
}

}
}

}

关于swift - 使用 Swift 而不是 Objective-C 从解析数据中保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32415199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com