gpt4 book ai didi

ios - 如何在 iOS 中返回一个 id

转载 作者:行者123 更新时间:2023-11-29 01:23:46 26 4
gpt4 key购买 nike

我有一个函数,返回一个协议(protocol)。

但是 Xcode 警告:[从具有不兼容结果类型“id”的函数返回“HpadMoblieCollectorBooleanResult *”__strong]

-----------sep行--------------------

问题详细信息:

HpadCollectorBooleanResult.h

@protocol HpadCollectorBooleanResult <NSObject>
- (void) result:(void(^)(BOOL))block ;
@end

我有一个类来实现 HpadCollectorBooleanResult 协议(protocol),该类是 HpadMoblieCollector 。

HpadMoblieCollector.h

    #import "HpadCollectorResult.h"

@interface HpadMoblieCollector : NSObject

// clear All
- (id<HpadCollectorBooleanResult>) favorite_ajax_clear ;

@end

.m 文件是

HpadMoblieCollector.m

@interface HpadMoblieCollectorBooleanResult<HpadCollectorBooleanResult> : NSObject
{
void(^_result)(BOOL) ;
BOOL isExe ;
BOOL resultFlag ;
}

@end

@implementation HpadMoblieCollector

// 清空手机收藏夹
- (id<HpadCollectorBooleanResult>) favorite_ajax_clear
{
HpadMoblieCollectorBooleanResult *result = [[HpadMoblieCollectorBooleanResult alloc] init] ;
return result ;

// Xcode waring:
// Returning 'HpadMoblieCollectorBooleanResult *'__strong from a function
// with incompatible result type 'id<HpadCollectorBooleanResult>'
}

@end

可以看到,方法“-(id )favorite_ajax_clear”有错误,我无法解决这个问题。

1、你能告诉我为什么Xcode会发出警告信息吗?

2、你能帮我解决这个问题吗?

最佳答案

为什么 @interface HpadMoblieCollectorBooleanResult<HpadCollectorBooleanResult> : NSObject

将其更改为 @interface HpadMoblieCollectorBooleanResult : NSObject<HpadCollectorBooleanResult>并且警告应该消失。

关于ios - 如何在 iOS 中返回一个 id<protocol_type>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34264407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com