U-L*_*U-L 11 enums objective-c
头文件看起来像:
enum RatingsEnum
{
userRating,
criticRating,
};
@interface SFMovie : NSObject
- (NSNumber *)getRating:(NSDictionary *)movieDic :(enum RatingsEnum) rating;
@end
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用这个方法getRating?我不知道如何通过枚举.我的通话代码:
- (void) testGetCriticRatingMethod{
NSMutableDictionary *ratingDictionary = [[NSMutableDictionary alloc]init];
[ratingDictionary setObject:@"Certified Fresh" forKey:@"critics_rating"];
[ratingDictionary setObject:@"70" forKey:@"critics_score"];
[ratingDictionary setObject:@"Certified Fresh" forKey:@"audience_rating"];
[ratingDictionary setObject:@"87" forKey:@"audience_score"];
SFMovie *movie = [[SFMovie alloc]init];
enum RatingsEnum ratings;
NSInteger userRating = [movie getRating:ratingDictionary rating:userRating];
}
Run Code Online (Sandbox Code Playgroud)
这会产生以下警告: 'SFMovie'没有可见的@interface声明选择器'getRating:rating:'
有人可以指导我一个好的enum教程吗?谢谢你们.
Eth*_*ang 17
更改
- (NSNumber *)getRating:(NSDictionary *)movieDic :(enum RatingsEnum) rating;
Run Code Online (Sandbox Code Playgroud)
至
- (NSNumber *)getRatingWithDictionary:(NSDictionary *)movieDic ratingEnum:(enum RatingsEnum) ratingEnum;
Run Code Online (Sandbox Code Playgroud)
更改
enum RatingsEnum ratings;
NSInteger userRating = [movie getRating:ratingDictionary rating:userRating];
Run Code Online (Sandbox Code Playgroud)
至
enum RatingsEnum ratings = userRating;
NSNumber *ratingFromUser = [movie getRatingWithDictionary:ratingDictionary ratingEnum:ratings];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11785 次 |
| 最近记录: |