Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何正确弃用Xcode 4中的方法_Ios_Xcode_Xcode4_Methods_Deprecated - Fatal编程技术网

Ios 如何正确弃用Xcode 4中的方法

Ios 如何正确弃用Xcode 4中的方法,ios,xcode,xcode4,methods,deprecated,Ios,Xcode,Xcode4,Methods,Deprecated,我只是看了一下答案,但没有帮上忙。当我只在方法声明中添加不推荐的属性时,编译器会在方法实现中显示属性,并且其声明必须匹配。我是否需要将smth添加到方法实现中 谢谢 至少在Xcode 4.3.2 with clang中,您必须在方法的声明和实现中添加不推荐使用的属性。只需将属性添加到声明中: @interface Blah - (void)method __attribute__((deprecated)); @end 如果您的包含内容对于翻译是正确的,这应该可以很好地工作。也许您已经在定义中

我只是看了一下答案,但没有帮上忙。当我只在方法声明中添加不推荐的属性时,编译器会在方法实现中显示
属性,并且其声明必须匹配
。我是否需要将smth添加到方法实现中


谢谢

至少在Xcode 4.3.2 with clang中,您必须在方法的声明和实现中添加不推荐使用的属性。

只需将属性添加到声明中:

@interface Blah
- (void)method __attribute__((deprecated));
@end
如果您的包含内容对于翻译是正确的,这应该可以很好地工作。也许您已经在定义中添加了属性,而不是声明?否则,演示(代码示例)将有所帮助

更新

尽管上述方法适用于典型的消息,但似乎clang会与
iAction
s混淆

使用clang时,
iAction
属性被隐式插入(对于以前的
typedef

当该属性仅在声明中指定时,预处理器输出如下:

// preprocessed declaration
- (void)__attribute__((ibaction))setSomething:(id)sender __attribute__((noreturn));
// preprocessed implementation
- (void)__attribute__((ibaction))setSomething:(id)sender
...    

因此,编译器似乎只是被这个隐藏的修饰弄糊涂了,而且当方法是
iAction

-(iAction)showTag\uUu属性时,您还必须将该属性添加到实现/定义中以抑制警告((不推荐));我明白了:方法实现的属性和它的声明必须匹配。@BorutTomazin它显然是特定于
iActions
——请参阅update.Yep,你是对的。它适用于非ibaction方法。谢谢耸肩我猜他们在clang中的实现方式与在gcc中不同。