我试图通过SceneKit和Model I/0在.obj 3d模型上应用.mtl文件纹理.
当我尝试在其上应用纹理的.jpg时,我的代码工作正常:
let url = NSBundle.mainBundle().URLForResource("chair", withExtension: "obj")
let asset = MDLAsset(URL: NSURL(string:url)!)
guard let object = asset.objectAtIndex(0) as? MDLMesh else {
//fatalError("Failed to get mesh from asset.")
return
}
if shouldApplyTexture == true {
var textureFileName = "chair.mtl"
// Create a material from the various textures
let scatteringFunction = MDLScatteringFunction()
let material = MDLMaterial(name: "baseMaterial", scatteringFunction: scatteringFunction)
material.setTextureProperties(textures: [
.BaseColor:textureFileName])
// Apply the texture to every submesh of the asset
for submesh in object.submeshes! {
if let …
Run Code Online (Sandbox Code Playgroud) 我正在尝试解析医学字典(.csv文件),然后通过UITextChecker
:learnword方法学习所有这些单词,以便拼写检查程序将这些医学术语批准为有效单词.
我在另一个线程中调用此方法,但csv文件中的单词数量大约为50K.
- (void)parseMyCSVFile{
for (int i = 1; i < [csvContent count]; i++) {
NSString *learntWord = [NSString stringWithFormat:@"%@",[csvContent objectAtIndex:i]];
NSString *s = learntWord;
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@" ()\n\""];
s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
if ([UITextChecker hasLearnedWord:s]){
NSLog(@"skipped");
}
else
{
[UITextChecker learnWord:s]; // Memory Issue Here
NSLog(@"learning");
}
HUD.detailsLabelText = [NSString stringWithFormat:@"%i of %i",i,[csvContent count]];
}
[self performSelectorOnMainThread:@selector(bgWorkEnded) withObject:nil waitUntilDone:YES];
}
Run Code Online (Sandbox Code Playgroud)
我已经应用了仪器时间分析器,发现问题出在我在循环中学习单词的行.
该应用程序尝试加载字典直到5000字(约)然后崩溃.
任何帮助,将不胜感激.
谢谢