gpt4 book ai didi

ios - 找不到实例方法 '-addOperation:waitUntilFinished:'(返回类型默认为 'id')

转载 作者:行者123 更新时间:2023-11-29 11:15:08 27 4
gpt4 key购买 nike

addOperation:waitUntilFinished 是否仅适用于 iOS 4.3 及更高版本?为什么我会收到此警告,我是不是错过了什么?

即使我收到这条警告消息,我的应用程序仍然可以正常运行吗?

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html

用一些代码编辑:

我的 HttpRequestWrapper 操作类:在 .h 中:

@interface HttpRequestWrapper : NSOperation 

.m

+ (id)httpRequestWrapper:(NSString *)xmlString withUser : (NSString *) user  andPassword: (NSString *) password 
{
HttpRequestWrapper * operation = [[self alloc] initWithString:xmlString andUser: user andPass: password];
//return [operation autorelease];
return operation;
}

- (id)initWithString: (NSString*) xmlString andUser: (NSString* )user andPass: (NSString *) pass
{
self = [super init];
if (self == nil)
return nil;

_urlPart = [xmlString copy];
_userString = [user copy];
_passString = [pass copy];
_isExecuting = NO;
_isFinished = NO;

[self main];

return self;
}

我的来电线路是这样的:

 httpRequestWrapper  = [HttpRequestWrapper httpRequestWrapper:[NSString stringWithFormat:@"/list?xsl="] withUser:NULL andPassword: NULL];
[appDelegate.operationQueue addOperation:httpRequestWrapper waitUntilFinished:YES];

感谢您的帮助。

百合花

最佳答案

我可以假设警告可能是由您调用 [self main]; 引起的。注意:main 方法在操作队列中被调用。我看不出自己调用它的理由。

或者。我看到了问题。没有这样的调用:

[appDelegate.operationQueue addOperation:httpRequestWrapper waitUntilFinished:YES];

引用更近:

- (void)addOperations:(NSArray *)ops waitUntilFinished:(BOOL)wait

您应该传递操作数组。

固定为:

NSArray *opsArray = [NSArray arrayWithObject:httpRequestWrapper];
[appDelegate.operationQueue addOperations:opsArray waitUntilFinished:YES];

第三 - 检查 appDelegate.operationQueue 是否不是 nil,即如果您之前创建了 operationQueue

关于ios - 找不到实例方法 '-addOperation:waitUntilFinished:'(返回类型默认为 'id'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803788/

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