自从最新的XCode更新8.1(Build 8B62)以来,我遇到了与预处理器宏相关的语法高亮/代码完成的奇怪问题.
他们在更新之前一直使用的XCode 8 GM种子工作得很好,但现在XCode在选择方案时无法识别正确的目标.例如,我有一个带有2个目标的控制器静态库 - 一个用于iOS,另一个用于Apple Watch.在每个我使用宏(APP/WATCH)进行平台特定操作.但是当我在APP目标中时,Xcode编辑器突出显示代码,好像它是WATCH目标,而此目标的实际代码没有突出显示也没有自动完成.Xcode似乎随机检测来自不同目标的宏.另一方面,编译器总能检测到正确的代码并且100%正常工作,因此代码没有任何问题.这只是编辑.
此外,当我启动Xcode时,代码会突出显示大约一秒钟,然后再次获取所有白色文本.删除和读取所有方案都不起作用,清除和删除派生数据也不会对此产生影响.任何人有同样的问题,甚至解决这个问题?
编辑:我玩了一些目标和宏,我发现Xcode只从一个目标获取宏并丢弃所有其他目标,无论选择什么目标.有帮助吗?
我似乎无法找到一种快速简便的方法来简单地重新排序NSTableView(OSX,而不是iOS)中的行.在iOS上我会使用这两个委托方法:
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
MyObject *obj = [model objectAtIndex:fromIndexPath.row];
[model removeObject:obj];
[model insertObject:obj atIndex:toIndexPath.row];
}
Run Code Online (Sandbox Code Playgroud)
是否有任何快速简便的方法可以为Cocoa中的NSTableView做类似的事情?到目前为止,我只使用粘贴板找到了一些广泛的代码示例,这看起来非常类似于对我来说简单的重新排序功能.