0

NSObject から継承するクラス WebServices があります。xcode4.2 を使用しており、ARC がオンになっています。クラスを作成したとき、NSObject には viewDidLoad または init という他のメソッドはありませんでした。

問題は、self.something または [self someMethod] を呼び出そうとすると、Xcode が私のコードに赤のフラグを立て、次のように文句を言うことです。

Objective-C ポインター型 'Class' から C ポインター型 'struct obj_class*' への暗黙的な変換には、ブリッジ キャストが必要です

助けてください。「これ」を呼び出して現在のオブジェクトを取得する Java のようにココアを使用しないのはなぜですか?

// 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
4

2 に答える 2

0

viewDidLoadNSObjectメソッドがサブクラスに適合しません。サブクラスUIに存在するメソッドです。UIViewController

self.somethingさて、 ORについて指摘すると、それはサブクラス[self someMethod]で完全にうまく機能します。NSObject問題に直面しているコードを提示する必要があります。

参考までに(これを行った後、iOS向けの開発を開始する必要があると思います):

于 2013-04-17T12:13:18.610 に答える