我将 NSSegmentedControl 设置为发送者,当用户单击对象中的每个按钮时添加功能。下面的代码片段对我来说总是很有效。它仍然如此,但是当我使用 64 位架构构建时,我收到以下警告。当我恢复到 32 位时,警告就会消失。有人可以告诉我如何编辑代码吗? 谢谢您的帮助。 -保罗。
“隐式转换会丢失整数精度:NSInteger(又名 long)到“int”
int selectedSegment = [arSegController selectedSegment];
int clickedSegmentTag = [[arSegController cell] tagForSegment:selectedSegment];
if (clickedSegmentTag == 0) {
最佳答案
您需要使用 NSInteger
而不是 int
作为变量。您可以只查看 NSSegmentedControl.h
中的声明,但更好的是阅读 Apple 的 64-Bit Transition Guide for Cocoa .
关于在 64 位架构中构建时的 Cocoa NSInteger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955387/