小编zer*_*ero的帖子

Swift 2,警告:无法从dyld共享缓存加载任何Objective-C类信息

我已经找到了一些关于这个问题的问题,但是他们都没有帮我解决问题.我正在尝试使用此代码将对象保存到核心数据(在Xcode 6和Simulator中工作得很好......):

let fetchRequest = NSFetchRequest(entityName: "Patient")
let fetchedResults : [NSManagedObject]!
do {
    fetchedResults = try managedContext.executeFetchRequest(fetchRequest) as! [NSManagedObject]
    patienten = fetchedResults
}    catch {
    print("error")
}
Run Code Online (Sandbox Code Playgroud)

一旦我开始在Xcode 7 beta和物理设备上开始这个项目,我就添加了do-try-catch.现在,当我点击Save按钮时,这段代码被调用,应用程序冻结,我得到以下内容:

警告:无法从dyld共享缓存加载任何Objective-C类信息.这将显着降低可用类型信息的质量.

截图

有谁知道我哪里出错了?

console xcode core-data xcode7 swift2

54
推荐指数
3
解决办法
4万
查看次数

由于无关的空printf语句,C程序输出完全改变

我这里有这个C程序代码,它确定了数组的最高连续值:

#include <stdio.h>

int inputs[8];
int calcSum(int i, int j);

int main(void) {
        int i, j, maxSum = 0, tempSum = 0;
        int length = sizeof(inputs)/sizeof(inputs[0]);
        for(i=0;i<length;i++) {
                scanf("%d", &inputs[i]);
        }
        for(i=0;i<length;i++) {
                for(j=i;j<length;j++) {
                        tempSum = calcSum(i,j);
                        if(tempSum > maxSum) {
                                maxSum = tempSum;
                        }
                }
        }
        printf("%d\n", maxSum);
        return 0;
}

int calcSum(int i, int j) {
        int c, sum;
        for(c=i;c<=j;c++) {
                sum+=inputs[c];
        }
        return sum;
}
Run Code Online (Sandbox Code Playgroud)

尽管这段代码看起来对我来说是正确的,但它会输出错误的结果.采样加入任何形式的printf("")(可以是空的也一样)之间tempSum = ...,并if(tempSum >...)将使代码输出所有测试用例正确的答案.我甚至从头开始重写了整个代码,但仍然遇到了同样的问题.例如,数字序列:5 2 …

c arrays printf

-4
推荐指数
1
解决办法
77
查看次数

标签 统计

arrays ×1

c ×1

console ×1

core-data ×1

printf ×1

swift2 ×1

xcode ×1

xcode7 ×1