编辑:这似乎只是在将Xcode与Swift 结合使用时才会出现的错误。在Objective-C中它似乎工作正常。我发出了一份错误报告,并将发布苹果新闻。
在Visual Studio中编写C ++一段时间之后,我开始在Xcode中编写 Swift 2 。
但是我无法找到一种正确的方式来获取评论,就像我在Visual Studio中一样。
有时候我只想评论事情并且不想再看到 直到我决定所以我有自由空间思考问题的新方法。通过这种方式,我不会分心,更容易找到更好的解决方案。如果我找不到更合适的解决方案,我仍然可以在几秒钟内使用“备份”。
我如何在Xcode6和Xcode7 Beta中实现这一点 - 我在Visual Studio中完成了这项工作?
以下是一些截图,说明了我在Visual Studio 2015中的评论方式:
这是通过减号按钮折叠的同一条评论栏。
我只想要这些使用一行代码的小片段,并且可以轻松打开和取消注释。
我还没有找到解决这个问题的方法。我只发现了一些似乎适用于Xcode的较旧 版本但不再的方法。请你在发布之前在最新版本的Xcode中查看它们,因为我已经有了一些显然不再有效的方法。
import UIKit
import Parse
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let query = PFQuery(className:"GameScore")
query.getObjectInBackgroundWithId("AS462DS9PO") {
(gameScore: PFObject?, error: NSError?) -> Void in
if error == nil && gameScore != nil {
// print(gameScore)
let score = gameScore!.objectForKey("score")! as! Int
let playerName = gameScore!.objectForKey("playerName")! as! String
let cheatMode = gameScore!.objectForKey("cheatMode")! as! Bool
let objectId = gameScore?.objectId
let updatedAt = gameScore?.updatedAt
let createdAt = gameScore?.createdAt
let test = gameScore?.objectForKey("test")
print(test)
/* if let objectId = gameScore!.objectId {
print(gameScore!.objectId!)
}else {
print("Object ID couldn't be fetched!")
}
if let updatedAt = gameScore!.updatedAt{
print(gameScore!.updatedAt!)
}else {
print("Update at time couldn't be fetched!")
}
if let createdAt = gameScore!.createdAt {
print(gameScore!.createdAt!)
}else {
print("Creation time couldn't be fetched!")
}
*/
print(score, playerName, cheatMode, objectId, updatedAt, createdAt)
} else {
print(error)
}
}
}
我制作了一个显示问题的视频:https://www.dropbox.com/s/oawx2alyq24yw5p/Xcode.mp4?dl=0
答案 0 :(得分:6)
Swift和Objective-C中的注释折叠在Xcode 9中工作,方法是单击注释,然后按命令 + 选项 + ←< / KBD>
对于早期的Xcode版本,请参阅下面的原始答案。
在Xcode 9之前的Xcode版本中,评论折叠不适用于Swift,而只适用于Objective-C。 (并且原始问题没有指定语言。)并且为了在Xcode 8及更早版本中使用Objective-C,您需要打开“首选项”中“文本编辑”下的代码折叠选项:
(在Xcode 9中,始终启用代码折叠,此选项不会出现在“首选项”中。)
然后你可以通过按命令 + 选项 + ←来折叠Objective-C注释(或者在9之前的Xcode版本中,你可以点击左边距的折叠区域:
答案 1 :(得分:5)
目前(从Xcode 7.2开始),您无法折叠Swift源文件。
要折叠Objective-C注释,您需要使用具有开头和结尾的注释样式,如下所示:
/* Start comment
End comment */
然后,在评论开始的行上,将光标悬停在行号旁边的小栏上,然后单击箭头将其折叠。再次单击箭头展开它。
答案 2 :(得分:2)
在Swift中我以这种方式解决了这个问题:
/*..*/
{/*..*/}
/*{..}*/
非常奇怪的解决方案但有时会有所帮助。
答案 3 :(得分:1)
只需将鼠标悬停在阻止评论开头的装订线边缘,然后点击出现的小箭头图标。
同时按 Shift + ⌘ + Ctrl + ←将隐藏所有评论并 Shift < / kbd> + ⌘ + Ctrl + →将显示。
答案 4 :(得分:0)
我已经通过他们的Bug Reporter向Apple报告了此情况。他们告诉我这是一个已知的问题(实际上是问题16188787的副本 - 截至本文时仍然开放)。
您可以在下面看到他们的回复;
Apple Developer Relations(05-May-2016 07:33 AM)
工程已确定您的错误报告是重复的 另一个问题,将被关闭。
您的问题是原始错误报告的打开或关闭状态 重复显示在黄色&#34;重复的XXXXXXXX&#34;部分 bug报告用户界面。此部分显示在顶部附近 错误编号,标题下正确列的错误详细信息视图, 国家,产品和等级。
如果您有任何问题或疑虑,请更新您的报告 直接在这里:http://bugreport.apple.com/。
答案 5 :(得分:0)
我做了总结,对我有用。它已经很晚了,但良好的流程有助于编写好的代码。仅适用于swift 3-4
如果您想在实际代码之前首先编写伪代码,可以将所有内容写入注释块
/*
first, use http request
in the callback, do
a.
b.
c.
*/
然后因为你可能会重写,但逻辑大致相同,所以你可能不想删除评论,这很好,但要确保它们不会阻止你的视图,命令+选项+←。 (看起来这是折叠它们的默认方式。)
然后折叠它们时,它看起来像这样:/*...
如果您不喜欢xcode提供的关键组合,您可以定义快捷方式。
要定义快捷方式,请转到Xcode =&gt;偏好=&gt;键绑定=&gt; 弃用评论栏
在我的情况下,我使用alt⇧ctrl{,alt⇧ctrl}
然后无论如何定义它,但要小心冲突。
折叠伪代码评论真的很值得