0

Я пытаюсь передать два целочисленных значения между разными файлами, но получая ошибку, как указано в заголовке.Значение int не передается, непризнанный селектор отправляется в экземпляр Завершение приложения из-за неотображенного исключения «NSInvalidArgumentException»

Ошибка в этой строке: - (NSString *) lookup: (NSString *) в get: (int) dictio get1: (int) dictio1;

File Error:

2014-02-05 13:27:48.019 MaisOui[4556:70b] Value of d: 10 d1: 0 

2014-02-05 13:27:49.496 MaisOui[4556:70b] Value of d: 10 d1: 10 

2014-02-05 13:27:56.405 MaisOui[4556:70b] -[MaisOuiDictionary lookup:]: unrecognized selector sent to instance 0x8c44d30 
2014-02-05 13:27:56.409 MaisOui[4556:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MaisOuiDictionary lookup:]: unrecognized selector sent to instance 0x8c44d30' 
*** First throw call stack: 
(
    0 CoreFoundation      0x0173f5e4 __exceptionPreprocess + 180 
    1 libobjc.A.dylib      0x014c28b6 objc_exception_throw + 44 
    2 CoreFoundation      0x017dc903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 
    3 CoreFoundation      0x0172f90b ___forwarding___ + 1019 
    4 CoreFoundation      0x0172f4ee _CF_forwarding_prep_0 + 14 
    5 MaisOui        0x00003299 -[MaisOuiViewController textFieldShouldReturn:] + 313 
    6 UIKit        0x0091761f -[UITextField keyboardInput:shouldInsertText:isMarkedText:] + 357 
    7 UIKit        0x004054f3 -[UIKeyboardImpl callShouldInsertText:] + 271 
    8 UIKit        0x0040f7d0 -[UIKeyboardImpl addWordTerminator:afterSpace:elapsedTime:executionContext:] + 63 
    9 UIKit        0x0040f2ca -[UIKeyboardImpl completeAcceptCandidateBeforeAddingInput:executionContext:] + 1668 
    10 UIKit        0x0040eba6 __60-[UIKeyboardImpl addInputString:withFlags:executionContext:]_block_invoke + 53 
    11 UIKit        0x0093ee7e -[UIKeyboardTaskExecutionContext returnExecutionToParent] + 254 
    12 UIKit        0x0041244b -[UIKeyboardImpl acceptCurrentCandidateIfSelectedWithExecutionContext:] + 250 
    13 UIKit        0x0040eb69 -[UIKeyboardImpl addInputString:withFlags:executionContext:] + 451 
    14 UIKit        0x0040da2f -[UIKeyboardImpl handleStringInput:withFlags:executionContext:] + 248 
    15 UIKit        0x0041bc1f -[UIKeyboardImpl handleKeyWithString:forKeyEvent:executionContext:] + 633 
    16 UIKit        0x0041b766 -[UIKeyboardImpl handleKeyEvent:executionContext:] + 1808 
    17 UIKit        0x0041afbf __33-[UIKeyboardImpl handleKeyEvent:]_block_invoke + 51 
    18 UIKit        0x0093f3c8 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 402 
    19 UIKit        0x0093fa6f -[UIKeyboardTaskQueue addTask:] + 144 
    20 UIKit        0x0041af84 -[UIKeyboardImpl handleKeyEvent:] + 227 
    21 UIKit        0x0024440b -[UIApplication _handleKeyUIEvent:] + 330 
    22 UIKit        0x0038afa4 -[UIResponder(Internal) _handleKeyUIEvent:] + 59 
    23 UIKit        0x0038afa4 -[UIResponder(Internal) _handleKeyUIEvent:] + 59 
    24 UIKit        0x0038afa4 -[UIResponder(Internal) _handleKeyUIEvent:] + 59 
    25 UIKit        0x0038afa4 -[UIResponder(Internal) _handleKeyUIEvent:] + 59 
    26 UIKit        0x002442ba -[UIApplication handleKeyUIEvent:] + 84 
    27 UIKit        0x0024425e -[UIApplication handleKeyHIDEvent:] + 458 
    28 UIKit        0x0022c07c _UIApplicationHandleEventQueue + 2954 
    29 CoreFoundation      0x016c883f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 
    30 CoreFoundation      0x016c81cb __CFRunLoopDoSources0 + 235 
    31 CoreFoundation      0x016e529e __CFRunLoopRun + 910 
    32 CoreFoundation      0x016e4ac3 CFRunLoopRunSpecific + 467 
    33 CoreFoundation      0x016e48db CFRunLoopRunInMode + 123 
    34 GraphicsServices     0x036e49e2 GSEventRunModal + 192 
    35 GraphicsServices     0x036e4809 GSEventRun + 104 
    36 UIKit        0x00230d3b UIApplicationMain + 1225 
    37 MaisOui        0x00002c5d main + 141 
    38 libdyld.dylib      0x01d7d70d start + 1 
    39 ???         0x00000001 0x0 + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

#import "MaisOuiAppDelegate.h" 

int main(int argc, char * argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([MaisOuiAppDelegate class])); 
    } 
} 

Из файла передать:

int d=0; 
int d1=0; 

Файл передается:

@interface MaisOuiDictionary : NSObject 

- (NSString *) lookup: (NSString *) in; 
- (int) dic : (int) dictio; 
- (int) dic1 : (int) dictio1; 


@end 



- (NSString *) lookup: (NSString *)in get:(int)dictio  get1:(int)dictio1; 
{ 


    // if(dictio==10 && dictio1==10) 
    { 
    NSString *rv = [self.wordsE_S objectForKey: in]; 
    if (!rv) 
     return @"*** no translation ***"; 

    return rv; 
    } 
// return @"**nothing**"; 
} 

Может кто-нибудь сказать мне, где я неправ. Я попытался изменить все значения на int * и NSInteger *, но все равно получаю ту же ошибку.

+1

Вы можете добавить полную ошибку в свой вопрос? – Volker

+0

Ничего из этого не имеет смысла. Сначала опубликуйте точное и полное сообщение об ошибке. Вторая - какая строка кода вызывает проблему? – rmaddy

+0

Отредактировано, пожалуйста, смотрите сейчас. – rbk

ответ

2

Вы реализовали этот метод

- (NSString*)lookup:(NSString*)in get:(int)dictio get1:(int)diction; 

... но это выглядит, как вы пытаетесь вызвать этот метод (который был определен в интерфейсе)

- (NSString*)lookup:(NSString*)in; 

Поскольку реализация lookup: не существует, вы получаете исключение. Вам нужно либо:

  1. Объявить lookup:get:get1: в интерфейсе, и называют, что в textFieldShouldReturn: вместо lookup:
  2. Реализовать lookup: в вашей реализации

Это все сводится к вам вызов метода, Безразлично не существует. Разъяснение по наименованию метода в Objective C можно найти здесь: Method Syntax in Objective C

Смежные вопросы