Answers:
尝试:
删除DERIVED DATA文件夹似乎可以解决我的问题。感谢这篇文章:swift println()在编写代码时未显示自动完成选项
尝试的事情:
如果使用cocoapods,请在项目目录中运行以下命令:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
清除缓存的数据
清理项目-> Cmd + Shift + K
清理构建文件夹-> Cmd + Shift + Option + K
如果您跳过了第一步,请执行以下操作:
删除派生数据
Xcode Preferences
-> Locations
->
箭头符号转到DerrivedData
->删除文件夹
检查您的构建阶段的编译源。
项目中的每个.swift
和.m
文件都应在此列表中,否则它们将不会自动完成。
优化编辑器:
在每个类属性和函数上使用fileprivate,可以减小每个项目的编译器工作范围。
编写模块化/ OOP代码,因此您需要较少的代码供编译器读取。
当结果是复杂的计算时,避免使用类型推断,并尝试将复杂的计算分解为let this = smallerOperation
语句
Xcode版本11.0(11A420a)
我已经尝试过Lal Krishna的解决方案的Xcode V11.0。它工作了几次,但后来我没有结果。
我找到了一种解决方案。您必须删除两个文件:
该解决方案现在对我有帮助。可能对其他人有用useful
当文件不是目标服务器的成员时,可能会发生这种情况。打开自动完成功能不起作用的文件,并在Xcode的右上角显示“实用程序”选项卡(在下面的屏幕截图中为蓝色)。
确保选中了您的目标(通常是您应用的名称)。自动完成功能几乎可以立即生效,而无需重新启动Xcode,清理或删除派生数据。
如果已经选中,请确保取消选中并再次重新选中。对我来说,它成功了。
我正在使用Xcode 10.2,但遇到了同样的问题。
来自axel的答案帮助我解决了。
无论如何,我将描述更多:
YourProject.xcodeproj
通过单击鼠标右键转到并打开Show Package Contents
xcuserdata
并删除您的youruser.xcuserdatad
如果还安装了xcworkspace
(如果已经安装了任何Pod),则请执行步骤3&4,否则请跳过步骤3&4:
YourProject.xcworkspace
通过单击鼠标右键转到并打开Show Package Contents
转到xcuserdata
并删除您的youruser.xcuserdatad
退出Xcode
rm -rf〜/库/开发人员/ Xcode / DerivedData
如果您冗余地命名文件,也会发生这种情况。例如,
Data.swift
Data.swift
请尝试这样做:
选择文件 >>检查文件是否已添加到UITesting或UnitTesting目标中(文件检查器->目标成员身份)。如果是这样,请取消选中这两个选项,并确保仅选择了项目目标。然后构建并尝试自动完成是否正常。
这对我有用。希望它能帮助某人。
这里有一些解决方法,但可以。
清理项目... Command + Shift + K
清理构建文件夹... Command + Shift + Options(Alt)+ K
删除项目的派生数据...可以通过以下链接来完成:
关闭XCode。
一旦完成构建,建议将返回。我已经试过两次了。
更新:
有时问题可能很简单,就像文件名重复一样。仔细检查您添加的任何新文件名是否与旧文件冲突。
Xcode 11.3,MacOS Catalina
进程parsecd达到100%的CPU,所以杀死它可以帮助我
我的案例似乎过于具体,无法提供帮助,但可能会让某人了解如何解决自动完成中断问题。Xcode 10.2.1。
就我而言,自动完成功能完全无法正常工作,而其他任何答案都无法帮助我。此外,可能会听到计算机上的风扇声音更大,表明某些东西工作过度(没有其他应用程序在运行),应注意,我在MacBook Pro笔记本电脑上进行编辑。它似乎与努力解析我编写的方程式的编辑器有关:
switch mtype {
case .indeterminate:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
case .right:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2) + (frame.width / 2)
case .left:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2)
}
我想根据用户的偏好向左,向右或向中间移动文本视图。的newPosition
是CGPoint
,该文本将要设置动画。无论如何,我将方程式分解,突然自动完成工作开始,风扇安静了!通过重新键入上面的代码,然后将其替换为:,我已经能够多次创建此特定问题。
let halfFrameWidth: CGFloat = frame.width / 2
let middleLeft = (halfFrameWidth - mainFigureText.frame.width) / 2
switch doseType {
case .right:
newPosition.x = middleLeft + halfFrameWidth
case .left:
newPosition.x = middleLeft
default:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
}
如果您对奇怪的完成/自动完成/智能化有疑问(不显示诸如委托和数据源协议方法之类的默认内容),只需更改目标(例如,从模拟器iPhone 8到真实设备),构建项目并切换回原始目标。
与Interface Builder(故事板)的问题类似,该问题不会显示任何内容,而是在您选择视图的任何部分时仅显示“未选择任何内容”。只需切换到其他Xib / Storyboard(甚至创建新的),检查它是否在那里工作,然后再切换回去即可。
这些变通办法对我都有效(在Xcode 10.2.1上的一个项目中一天都遇到了两个问题)。从我在所有互联网论坛上看到的来看,这些似乎是自Xcode 6.x以来从未修复的错误。
干杯!
在我的情况下(Xcode 11.1),当我使用此命令停止Xcode自动索引时,发生了这种情况defaults write com.apple.dt.Xcode IDEIndexDisable -bool true
。
所以我回滚了defaults write com.apple.dt.Xcode IDEIndexDisable -bool false
。然后重新启动macOS并再次运行Xcode。