黑马程序员技术交流社区

标题: 大神辛苦帮帮我,,OC中的类和对象的问题,我能不了了,. [打印本页]

作者: 天空总是很蓝    时间: 2014-11-20 23:30
标题: 大神辛苦帮帮我,,OC中的类和对象的问题,我能不了了,.
  1. #include <stdio.h>
  2. #import <Foundation/Foundation.h>
  3. //未运行成功

  4. //方法的声明
  5. @interface Car : NSObject   //是这个类具有创建对象的功能

  6. {
  7.     // 实例变量/成员变量的声明
  8.     @public
  9.     int wheels ;
  10.     int speeds ;

  11. }
  12. - (void)run;
  13. @end
  14. @implementation Car
  15. -(void)run
  16. {
  17.     NSlog(@"这个车的轮子是%d个,车的速度是%dkm/h",wheels,speeds);
  18. }
  19. @end
  20. int main()
  21. {
  22.     Car *p = [Car new];
  23.     p->wheels = 4 ;
  24.     p->speeds = 20 ;
  25.     [p  run];


  26.     return 0;
  27. }
复制代码
以下事终端提示的20十个错误,初学者很头疼
  1. In file included from 方法与成员变量.c:2:
  2. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:8:
  3. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:397:1: error:
  4.       expected identifier or '('
  5. @class NSString, Protocol;
  6. ^
  7. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:399:19: error:
  8.       unknown type name 'NSString'
  9. FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);
  10.                   ^
  11. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:400:44: error:
  12.       unknown type name 'NSString'
  13. FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);
  14.                                            ^
  15. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:402:19: error:
  16.       unknown type name 'NSString'
  17. FOUNDATION_EXPORT NSString *NSStringFromClass(Class aClass);
  18.                   ^
  19. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:403:43: error:
  20.       unknown type name 'NSString'
  21. FOUNDATION_EXPORT Class NSClassFromString(NSString *aClassName);
  22.                                           ^
  23. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:405:19: error:
  24.       unknown type name 'NSString'
  25. FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAI...
  26.                   ^
  27. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:405:50: error:
  28.       unknown type name 'Protocol'
  29. FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAI...
  30.                                                  ^
  31. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:406:19: error:
  32.       unknown type name 'Protocol'
  33. FOUNDATION_EXPORT Protocol *NSProtocolFromString(NSString *namestr) NS_AV...
  34.                   ^
  35. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:406:50: error:
  36.       unknown type name 'NSString'
  37. FOUNDATION_EXPORT Protocol *NSProtocolFromString(NSString *namestr) NS_AV...
  38.                                                  ^
  39. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:410:30: error:
  40.       unknown type name 'NSString'
  41. FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
  42.                              ^
  43. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:410:53: error:
  44.       format argument not an NSString
  45. FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
  46.                                                     ^                  ~
  47. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:98:49: note:
  48.       expanded from macro 'NS_FORMAT_FUNCTION'
  49.         #define NS_FORMAT_FUNCTION(F,A) __attribute__((format(__NSString_...
  50.                                                        ^
  51. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:411:31: error:
  52.       unknown type name 'NSString'
  53. FOUNDATION_EXPORT void NSLogv(NSString *format, va_list args) NS_FORMAT_F...
  54.                               ^
  55. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:411:63: error:
  56.       format argument not an NSString
  57.   ...void NSLogv(NSString *format, va_list args) NS_FORMAT_FUNCTION(1,0);
  58.                                                  ^                  ~
  59. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:98:49: note:
  60.       expanded from macro 'NS_FORMAT_FUNCTION'
  61.         #define NS_FORMAT_FUNCTION(F,A) __attribute__((format(__NSString_...
  62.                                                        ^
  63. In file included from 方法与成员变量.c:2:
  64. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:10:
  65. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h:5:
  66. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:8:
  67. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8:1: error:
  68.       expected identifier or '('
  69. @class NSString;
  70. ^
  71. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:16:52: error:
  72.       unknown type name 'NSString'
  73. FOUNDATION_EXPORT void NSSetZoneName(NSZone *zone, NSString *name);
  74.                                                    ^
  75. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:17:19: error:
  76.       unknown type name 'NSString'
  77. FOUNDATION_EXPORT NSString *NSZoneName(NSZone *zone);
  78.                   ^
  79. In file included from 方法与成员变量.c:2:
  80. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:10:
  81. In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSArray.h:5:
  82. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:10:1: error:
  83.       expected identifier or '('
  84. @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
  85. ^
  86. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:11:1: error:
  87.       expected identifier or '('
  88. @class Protocol;
  89. ^
  90. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:15:1: error:
  91.       expected identifier or '('
  92. @protocol NSCopying
  93. ^
  94. fatal error: too many errors emitted, stopping now [-ferror-limit=]
  95. 20 errors generated.
  96. MacdeiMac:1119晚上 Mac$
复制代码



作者: SunJiaqi    时间: 2014-11-20 23:30
兄弟我把图片给你发过去 你看看 我运行你的代码跟你一样的错  我发现 你的 NSlog 写错了  然后我改了 NSLog  然后运行就成功了。

屏幕快照 2014-11-21 下午1.43.59.png (174.7 KB, 下载次数: 160)

错误

错误

屏幕快照 2014-11-21 下午1.44.13.png (15.75 KB, 下载次数: 152)

改了NSLog

改了NSLog

屏幕快照 2014-11-21 下午1.44.25.png (11.96 KB, 下载次数: 148)

运行成功了

运行成功了

作者: 天空总是很蓝    时间: 2014-11-20 23:33
问题根源有两种;英文不扎实,错误没有积累没见过它
作者: weizhang00    时间: 2014-11-21 00:56
兄弟啊,你拿什么开发的?
报错这么多,你源文件是几个,全写.h了?
我一般都用xcode写
你这个错误我感觉是框架没正确引入吧
而且,oc不都是init和点语法么,为什么有new还有->
你把你怎么创建文件,怎么写的,怎么编译的告诉我
作者: 天空总是很蓝    时间: 2014-11-21 01:21
weizhang00 发表于 2014-11-21 00:56
兄弟啊,你拿什么开发的?
报错这么多,你源文件是几个,全写.h了?
我一般都用xcode写

IOS开发零基础教程-04Objective-C ▸ 02-面向对象 ▸ 02-类和对象 老师那个视频路径是这个看完类和对象,然后我按照老师讲课的思路自己写了下代码  运行之后出现很多错误,我去翻视频看。还是这样 在终端里面新建的touch       .c文件,然后在终端 口令open打开它  运行  cc方法与成员变量.c 也是xcode写的

FCC15548-738F-436A-9D98-9C18796B79E3.png (153.1 KB, 下载次数: 94)

FCC15548-738F-436A-9D98-9C18796B79E3.png

作者: itDave    时间: 2014-11-21 03:18
我运行了一下,确实有问题。你的NSLog “L"大写。并且,同学,你链接的时候加上-framework Foundation 么?
作者: 天空总是很蓝    时间: 2014-11-21 07:51
itDave 发表于 2014-11-21 03:18
我运行了一下,确实有问题。你的NSLog “L"大写。并且,同学,你链接的时候加上-framework Foundation 么? ...

改了也不管。试过了
作者: 天空总是很蓝    时间: 2014-11-21 07:52
itDave 发表于 2014-11-21 03:18
我运行了一下,确实有问题。你的NSLog “L"大写。并且,同学,你链接的时候加上-framework Foundation 么? ...

改了也不管。试过了
作者: 天空总是很蓝    时间: 2014-11-21 07:57
itDave 发表于 2014-11-21 03:18
我运行了一下,确实有问题。你的NSLog “L"大写。并且,同学,你链接的时候加上-framework Foundation 么? ...

改了也不管。试过了
作者: itDave    时间: 2014-11-21 11:04
我当时把#include注释了。同学,您确定你的xcode安装正确么!不可能有问题的呀?
如果xcode有问题,可以试一下,终端输入:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 我尽力了啊!真的想帮你
作者: 天空总是很蓝    时间: 2014-11-21 11:30
itDave 发表于 2014-11-21 11:04
我当时把#include注释了。同学,您确定你的xcode安装正确么!不可能有问题的呀?
如果xcode有问题,可以试 ...

在你电脑Xcode运行以上程序没问题吗?
作者: weizhang00    时间: 2014-11-21 12:32
总感觉哪里不对.c
oc的文件是.h和.m
作者: weizhang00    时间: 2014-11-21 12:33
你仔细看看视频到底建的什么.文件
作者: itDave    时间: 2014-11-21 17:29
天空总是很蓝 发表于 2014-11-21 11:30
在你电脑Xcode运行以上程序没问题吗?

通过了,没有错误
作者: 天空总是很蓝    时间: 2014-11-21 19:16
weizhang00 发表于 2014-11-21 12:33
你仔细看看视频到底建的什么.文件

视频上说.m 文件时可以兼容的c  我建的是.c文件
作者: 天空总是很蓝    时间: 2014-11-21 19:36
weizhang00 发表于 2014-11-21 12:33
你仔细看看视频到底建的什么.文件

重新.m文件 我试试
作者: 天空总是很蓝    时间: 2014-11-21 19:55
itDave 发表于 2014-11-21 11:04
我当时把#include注释了。同学,您确定你的xcode安装正确么!不可能有问题的呀?
如果xcode有问题,可以试 ...



作者: 天空总是很蓝    时间: 2014-11-21 20:06
itDave 发表于 2014-11-21 11:04
我当时把#include注释了。同学,您确定你的xcode安装正确么!不可能有问题的呀?
如果xcode有问题,可以试 ...

输入 上面那个命令了  提示输入密码   不知道密码啊  然后按ctrl+c中止了
作者: 天空总是很蓝    时间: 2014-11-21 20:08
itDave 发表于 2014-11-21 11:04
我当时把#include注释了。同学,您确定你的xcode安装正确么!不可能有问题的呀?
如果xcode有问题,可以试 ...

输入 上面那个命令了  提示输入密码   不知道密码啊  然后按ctrl+c中止了
作者: itDave    时间: 2014-11-21 21:09
就是你的登陆密码。你登陆电脑的密码
作者: itDave    时间: 2014-11-21 21:11
我确定,你的xcode绝对有问题。你xcode安装了么?
作者: 天空总是很蓝    时间: 2014-11-21 21:24
itDave 发表于 2014-11-21 21:11
我确定,你的xcode绝对有问题。你xcode安装了么?

嗯  我重装下xcode
可以吗
作者: 天空总是很蓝    时间: 2014-11-22 00:41
SunJiaqi 发表于 2014-11-21 21:47
兄弟我把图片给你发过去 你看看 我运行你的代码跟你一样的错  我发现 你的 NSlog 写错了  然后我改了 NSLog ...

两个错误,一个是把include弄成中文的了,一个是  NSLog写成小写的了
作者: 天空总是很蓝    时间: 2014-11-22 00:42
天空总是很蓝 发表于 2014-11-22 00:41
两个错误,一个是把include弄成中文的了,一个是  NSLog写成小写的了

两个错误,一个是把include弄成中文的了,一个是  NSLog写成小写的了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2