Cocoa touch NSObject调用self时出现XCode错误

Cocoa touch NSObject调用self时出现XCode错误,cocoa-touch,ios6,xcode4.2,implicit-conversion,nsobject,Cocoa Touch,Ios6,Xcode4.2,Implicit Conversion,Nsobject,我有一个从NSObject继承的类WebServices。我使用的是xcode4.2,并且ARC已打开。 当我创建该类时,NSObject lie viewDidLoad或init中没有其他方法 问题是,当我尝试调用self.something或[self-somethod]Xcode时,我的代码会标记为红色,并抱怨: 将Objective-C指针类型“Class”隐式转换为C指针类型“struct obj_Class*”需要桥接转换 请帮忙。为什么cocoa不像java,在java中调用“th

我有一个从NSObject继承的类WebServices。我使用的是xcode4.2,并且ARC已打开。 当我创建该类时,NSObject lie viewDidLoad或init中没有其他方法

问题是,当我尝试调用self.something或[self-somethod]Xcode时,我的代码会标记为红色,并抱怨:

将Objective-C指针类型“Class”隐式转换为C指针类型“struct obj_Class*”需要桥接转换

请帮忙。为什么cocoa不像java,在java中调用“this”并获取您所在的对象

// WebService.h file
@interface WebService : NSObject

@property (weak, nonatomic) NSString * myString;
+(void) setAndPrintMyString:(NSString*) someString;

@end



//WebService.m file


#import "WebService.h"
@implementation WebService

@synthesize myString=_myString;

+(void) printMyString:(NSString*) someString{
 [self setMyString:someString];      //XCode does not allow
 NSLog(@"myString is set to %@",self.myString); //XCode dose not allow
}

@end

viewDidLoad
方法不适合
NSObject
子类。这是一种用于
UI
的方法,它将出现在
UIViewController
子类中

现在,我们来谈谈
self.something
[self-somethod]
,它可以很好地与
NSObject
子类配合使用。您需要向我们展示您面临问题的代码

仅供您参考(我认为您应该在完成此步骤后开始为iOS开发):


+
声明一个方法意味着它是一个类方法。在类中,方法
self
引用类本身,在您的情况下,它将是
[WebService类]
。如果您声明和实例方法(使用
-
),那么在方法内部
self
将引用您想要的实例

要设置实例变量,您需要一个实例

WebService *webService = [[WebService alloc] init];
webService.myString = @"some string";
现在要使您的方法工作,您需要使用
-
来声明它,而不是
+
,这使它成为一个实例方法

- (void)printMyString:(NSString *)someString
{
  [self setMyString:someString];
  NSLog(@"myString is set to %@",self.myString);
}
现在


结果实例变量
myString
被设置为
boom
,控制台注销`myString'被设置为boom“

您能显示您正在使用的代码吗trying@Paul.s我从工作中添加了一些代码,因此如果代码有拼写错误,我很抱歉,我在发布之前没有运行它。您发布的代码对我来说很好-要么您需要发布实际代码,以便我们可以看到真正的问题,要么Xcode正在播放up@Paul.s更新了我的代码。。。我有一个+(虚空)而不是-(虚空),我现在认为这对我来说是有意义的。
[webService printMyString:@"boom"];