/ /このプロトコル宣言の何が問題になっていますか? -Objective-C、Xcode

このプロトコル宣言で何が間違っていますか? - objective-c、xcode

私はこれを学習として行っていますが、NSStringの戻り値の型は正しくないと言われています。

タイプは (NSString*)ない(NSString)

@protocol MyExampleProtocol <NSObject>

@required
@property (nonatomic,retain) NSString *model;
@property (nonatomic,retain) NSString *resgisteration;
-(NSString) getModelAndRegistration();
@optional
@property (nonatomic,retain) NSString *engine;
@property (nonatomic,retain) NSString *chasis;
-(NSString) getEngineAndChasis();
@end

回答:

回答№1は4

はい、NSStringはプリミティブ型ではないため、NSStringオブジェクトへのポインタを返す必要があります。したがって、使用する必要があります

- (NSString *) getEngineAndChasis;

また、括弧を削除します。これらはObjective-Cでは使用されません


回答№2については2

型は(NSString *)not(NSString)である必要がありますか

はい、戻り値の型は NSString*。 Objective-Cでは、int、floatなどのプリミティブデータ型を除き、すべてのものが参照です。また、メンバー関数には終了がありません ()、C ++と同様。