我写了一个带有out参数的方法:
-(NSString *)messageDecryption:(NSString *)receivedMessage outParam:(out)messageCondent
{
messageCondent = [receivedMessage substringFromIndex:2];
return [receivedMessage substringToIndex:1];
}然后,我像这样传递参数:
NSString *messageCondent;
NSString *mode = [myclassobject messageDecryption:message outParam:messageCondent];然而,有一个问题。未正确设置out参数值。有没有人能帮助我正确地做这件事?
发布于 2011-05-17 01:29:11
创建接受指向对象的指针的方法。
-(NSString *)messageDecryption:(NSString *)receivedMessage outParam:(NSString**)messageCondent
{
*messageCondent = [receivedMessage substringFromIndex:2];
return [receivedMessage substringToIndex:1];
}传入对本地对象的引用。
NSString *messageCondent = nil;
NSString *mode = [myclassobject messageDecryption:message outParam:&messageCondent];发布于 2011-05-17 01:29:13
根据定义,"out参数“是指向指针的指针。
您的方法应该如下所示:
-(NSString *)messageDecryption:(NSString *)receivedMessage outParam:(NSString **)messageCondent
{
*messageCondent = [receivedMessage substringFromIndex:2];
return [receivedMessage substringToIndex:1];
}这将解除对传入指针的引用,以获取实际的对象引用,然后将其赋值给[receivedMessage substringFromIndex:2]返回的任何对象。
调用此方法非常简单:
NSString *messageCondent = nil;
NSString *mode = [myclassobject messageDecryption:message outParam:&messageCondent];https://stackoverflow.com/questions/6020977
复制相似问题