首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标C getValue

目标C getValue
EN

Stack Overflow用户
提问于 2013-11-21 15:22:45
回答 3查看 972关注 0票数 3

我已经定义了一个类,POI.h:

代码语言:javascript
复制
@interface POI : NSObject

它只是一个简单的类,它具有某些属性和定义如下的方法:

代码语言:javascript
复制
- (NSString *) getValue:(NSString *)key;

在我的控制器中,当我尝试记录该方法的调用时:

代码语言:javascript
复制
  NSLog(@"Name: %@", [poi getValue:@"name"]);

我得到了

Apple编译器4.2错误命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 退出代码254失败

基于以前的一些这样的答案,当尝试从void方法记录返回值时,我发现了这个错误254。因此,我得出结论,我的编译器试图调用的方法实际上是

代码语言:javascript
复制
- (void)getValue:(void *)value;

NSValue.h中定义,它是空类型的。

现在,我真的很想知道为什么会发生这种情况。我对getValue方法的错误和愚蠢的命名是唯一的原因吗?我怎么才能避免呢?

实际错误消息:

LBSViewController.mm

  1. 文件末尾解析器
  2. 代码生成
  3. 在模块'/Users/myuser/Documents/workspace/project1/Classes/LBSViewController.mm'.上运行pass‘功能传递管理器’
  4. 在函数@"\01-[LBSViewController initializeLBS]"上运行pass 'ARM指令选择‘

clang:错误:无法执行命令:分段错误: 11

clang:错误: clang前端命令由于信号而失败(使用-v查看调用)

Apple LLVM 4.2版(clang-425.0.27) (基于LLVM 3.2svn)

目标: arm-apple-darwin12.5.0

线程模型: posix

clang:注意:诊断消息:请向http://developer.apple.com/bugreporter/提交一个bug报告,并包括崩溃回溯、预处理源代码和相关的运行脚本。

clang:注意:诊断信息:

请将下列文件附加到错误报告中:

预处理源和相关的运行脚本位于:

clang:注意:诊断信息: /var/folders/y_/h89vdcjj7zs8s5zjh77x4h0h0000gn/T/LBSViewController-A4zhXy.mm

clang:注意:诊断信息: /var/folders/y_/h89vdcjj7zs8s5zjh77x4h0h0000gn/T/LBSViewController-A4zhXy.sh

clang:注意:诊断信息:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-21 17:24:32

这是一个编译器崩溃,与如何编写该代码或它在运行时的行为无关。

按照说明并提交一个bug。

更有可能的是,崩溃是由错误位置的垃圾字符造成的,或者更有可能的是,您的语法在其他地方是如此的混乱,导致编译器变得不合群。

发布initializeLBS方法的代码,因为这是触发崩溃的原因(根据编译器的错误消息)。

注意,方法不应以get作为前缀。不会导致编译器崩溃,但它是错误的形式。

有关您可能希望遵循的类似API模式,请参见键值编码和NSDictionary。

票数 12
EN

Stack Overflow用户

发布于 2013-11-21 15:51:18

你的问题是,这是因为命名,是的。在这两种情况下,调用的选择器归结为: getValue:

在这个级别上没有参数类型信息,也没有返回类型信息。不允许根据目标c中的参数或返回类型重载函数。

票数 -3
EN

Stack Overflow用户

发布于 2013-11-21 17:33:22

按下这些按钮--按一下顺序移动的⌘K--这可能有效,你命名的类很可能和它没有什么关系,这就是为什么我建议你清理它,这对你的程序是有好处的,这就像给你的程序做个按摩,减轻它的压力,或者在电脑里任何数据挂起:D。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20124868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档