我有以下功能:
-(void) CalLevels: (NSMutableArray *)rPrices: (NSMutableDictionary *) rLevels: (float) nClose: (float) nHigh: (float) nLow: (float) nOpen {...}
我调用上述函数如下:
[self CalLevels:rm.rPrices rLevels:rm.rLevels nClose:nCloseD nHigh:nHighD nLow:nLowD nOpen:nOpenD];
我找不到警告方法。谢谢你的帮助。
答案 0 :(得分:2)
你应该这样称呼它:
[self CalLevels:rm.rPrices :rm.rLevels :nCloseD :nHighD :nLowD :nOpenD];
或更改方法声明,因为rLevel
及其朋友是变量的内部方法名称,而不是方法名称的一部分。
正确的方法是上面的方法,或更改方法签名:
-(void) CalLevels: (NSMutableArray *)rPrices rLevels: (NSMutableDictionary *) rLevels nClose: (float) nClose nHigh: (float) nHigh nLow: (float) nLow nOpen : (float) nOpen {...}
答案 1 :(得分:2)
您的方法声明已被破坏。你写道:
-(void) CalLevels: (NSMutableArray *)rPrices: (NSMutableDictionary *) rLevels: (float) nClose: (float) nHigh: (float) nLow: (float) nOpen
这声明了一个名为CalLevels::::::
的方法。 rLevels
,nClose
以及所有被解析为参数名称的内容。你可能想要声明一个名为alLevels:rPrices:rLevels:nClose:nHigh:nLow:nOpen:
的人。这看起来更像是这样:
- (void)CalLevels:(NSMutableArray *)levels rPrices:(NSMutableDictionary *)rPrices rLevels:(float)rLevels nClose:(float)nClose nHigh:(float)nHigh nLow:(float)nLow nOpen:(float)nOpen
(我猜测nOpen
意味着浮动。)
答案 2 :(得分:1)
@MByD所写的内容可行,但如果您想遵守Naming Conventions,则需要重命名您的方法。现在,您的方法名为CalLevels::::::
,rLevels
,nClose
等是不属于名称的参数名称。如果您想遵循命名约定,您需要:
CalLevels...
错了,calLevels...
是对的。calLevels::::::
错了,calLevels:rPrices:rLevels:nClose:nHigh:nLow:nOpen:
是对的。导致类似这样的事情:
-(void)calLevels:(NSMutableArray *)rLevels rPrices:(NSMutableDictionary *)rPrices nClose:(float)nClose nHigh:(float)nHigh nLow:(float)nLow nOpen:(float)nOpen;