1. Objective C / Говнокод #9454

    −78

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    -(id)init
    {        for (int i=0; i<20; i++){
                CCMenuItemImage *menuItemImage = [CCMenuItemImage itemFromNormalImage:@"г°®©б⥁.png"
                                                                        selectedImage:@"г°®©б⥁.png"
                                                                        disabledImage:@"г°®©б⥁.png"
                                                                               target:self
                                                                             selector:[self selectorAtIndex:i]];
                menuItemImage.position = CGPointMake(+3*30*(i+1)-self.contentSize.width/2 -size.width /2,
                                                      -3*30*k*(i+1)+self.contentSize.height/2+size.height/2);
                [menuItemArray addObject:menuItemImage];
            }
            
            CCMenu *menu = [CCMenu menuWithItems:
                            [menuItemArray objectAtIndex:0],
                            [menuItemArray objectAtIndex:1],
                            [menuItemArray objectAtIndex:2],
                            [menuItemArray objectAtIndex:3],
                            [menuItemArray objectAtIndex:4],
                            [menuItemArray objectAtIndex:5],
                            nil];
            [self addChild:menu z:1];
    }
    
    -(SEL)selectorAtIndex:(NSInteger)index
    {
        switch (index) {
            case 0:
                return @selector(kilLev0);
                break;
            case 1:
                return @selector(kilLev1);
                break;
            case 2:
                return @selector(kilLev2);
                break;
            case 3:
                return @selector(kilLev3);
                break;
            case 4:
                return @selector(kilLev4);
                break;
            case 5:
                return @selector(kilLev5);
                break;            
            default:
                return @selector(kilLev3);
                break;
        }
    }
    
    -(void)kilLev0
    {
        [self killLevelAtIndex:0];
    }
    
    -(void)kilLev1
    {
        [self killLevelAtIndex:1];
    }
    
    -(void)kilLev2
    {
        [self killLevelAtIndex:2];
    }
    
    -(void)kilLev3
    {
        [self killLevelAtIndex:3];
    }
    
    -(void)kilLev4
    {
        [self killLevelAtIndex:4];
    }
    
    -(void)kilLev5
    {
        [self killLevelAtIndex:5];
    }
    
    
    -(void)killLevelAtIndex:(NSInteger)levelIndex
    {
        NSLog(@"Level Index = %d",levelIndex);
        [self.delegate startKillLevelAtIndex:levelIndex];
    }

    Люди добрые, я сам ржу глядя на то, что написал...
    Подскажите пожалуйста как описать правильно?

    Запостил: ZevsVU, 16 Февраля 2012

    Комментарии (1) RSS

    • где присваиваешь селектор NSSelectorFromString([NSString stringWithFormat:@"killLev%d",i]);

      убрать все методы и оставить
      - (void)forwardInvocation:(NSInvocation *)anInvocation{
      NSString *selectorString = NSStringFromSelector([anInvocation selector]);
      if ([selectorString hasPrefix:@"killLev"]) {
      int index = [[selectorString substringFromIndex:6] intValue];
      [self startKillLevelAtIndex:index];
      } else
      [super forwardInvocation:anInvocation];
      }
      Ответить

    Добавить комментарий