转换为swift 3后,解析saveInBackground无法正常工作

时间:2016-09-30 04:15:37

标签: swift xcode parse-platform swift3

我最近将我的解析项目更新为今天的swift 3,令我沮丧的是,没有一个saveInBackgroundWithBlockgetDataInBackgroundfindObjectsInBackGround etc工作。 -______-这是一个不起作用的部分的例子:

newCart.saveInBackground { (saved:Bool, error:NSError?) -> Void in
            if saved {
                print("saved worked")
            } else {
                print(error)
            }
        }

1 个答案:

答案 0 :(得分:7)

因此经过一些快速研究后,我发现,简而言之,Apple想要省略任何被认为不必要的快速语法。这意味着NS NSError中的getData与新的swift 3不一样。所以在上面的解析保存函数或任何其他findObjectsNSError中,要让Xcode放松,您需要做的就是将newCart.saveInBackground { (saved:Bool, error:NSError?) -> Void in更改为Errorlet newCart = PFObject(className: "Cart") newCart.saveInBackground { (saved:Bool, error:Error?) -> Void in if saved { print("saved worked") } else { print(error) } } 。所以最终结果如下:

library(randomForest)
library(mlbench)
library(caret)

# Load Dataset
data(Sonar)
dataset <- Sonar
x <- dataset[,1:60]
y <- dataset[,61]
# make this data very imbalance
y[4:length(y)] <- "M"
y <- as.factor(y)
dataset$Class <- y

# create index and indexOut 
seed <- 1
set.seed(seed)
folds <- 2
idxAll <- 1:nrow(x)
cvIndex <- createFolds(factor(y), folds, returnTrain = T)
cvIndexOut <- lapply(1:length(cvIndex), function(i){
    idxAll[-cvIndex[[i]]]
})
names(cvIndexOut) <- names(cvIndex)

# set the index, indexOut and prSummaryCorrect
control <- trainControl(index = cvIndex, indexOut = cvIndexOut, 
                            method="cv", summaryFunction = prSummary, classProbs = T)
metric <- "AUC"
set.seed(seed)
mtry <- sqrt(ncol(x))
tunegrid <- expand.grid(.mtry=mtry)
rf_default <- train(Class~., data=dataset, method="rf", metric=metric, tuneGrid=tunegrid, trControl=control)