Форум программистов, компьютерный форум CyberForum.ru

EXC_BAD_ACCESS(code=2, address=0x5) - Objective-C

Восстановить пароль Регистрация
 
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
24.11.2013, 23:22     EXC_BAD_ACCESS(code=2, address=0x5) #1
пытаюсь написать программу, которая переводит из 10 в двоичную сс
создал класс core где описал одну функцию
вот код:
core.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
#import <UIKit/UIKit.h>
 
@interface Core : UIView
{
    @public
    NSInteger *input;
}
 
-(NSString*) convertToBinary:(NSInteger*) inputNumber;
 
@end
core.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#import "Core.h"
 
@implementation Core
 
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}
 
-(NSString*) convertToBinary:(NSInteger*) inputNumber
{
    int k = 0;
    NSInteger temp = *inputNumber; //при компиляции ругается здесь
    NSString *returnString;
    while (k == 0)
    {
        temp = temp % 2;
        if (temp < 2)
        {
            k = 1;
            if (temp == 1)
            {
                returnString = [NSString stringWithFormat: @"%@1", returnString];
            }
            if (temp == 0)
            {
                returnString = [NSString stringWithFormat: @"%@0", returnString];
            }
        }
        if (temp % 2 == 0)
        {
            returnString = [NSString stringWithFormat: @"%@0", returnString];
        }
        if (temp % 2 == 1)
        {
            returnString = [NSString stringWithFormat: @"%@1", returnString];
        }
        
    }
    return returnString;
}
 
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/
 
@end
viewcontroller.h
Objective-C
1
2
3
4
5
6
7
8
9
10
#import <UIKit/UIKit.h>
 
@interface INViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *labelAnswer;
- (IBAction)buttonGetAnswer:(id)sender;
@property (weak, nonatomic) IBOutlet UITextField *textFieldInput;
 
 
 
@end
viewcontroller.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#import "INViewController.h"
#import "Core.h"
 
@interface INViewController ()
 
@end
 
 
 
@implementation INViewController
 
@synthesize labelAnswer;
@synthesize textFieldInput;
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
 
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
- (IBAction)buttonGetAnswer:(id)sender {
    Core *example = [[Core alloc]init];
    NSInteger * myInt = [textFieldInput.text intValue];
    labelAnswer.text = [example convertToBinary: myInt];
    
}
@end
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 23:22     EXC_BAD_ACCESS(code=2, address=0x5)
Посмотрите здесь:

Access violation at address 32ABE860 in module cc32100mt.dll. read of address f8338338 C++ Builder
C++ Builder Access violation at address 00404083 in module 'Projectl.exe'. Read of address 00000000.
Access violation at address . in module 'DFWEDIT.DLL'. Read at address Delphi
access violation at address 40009720 in module 'rtl60.bpl'. read of address C++ Builder БД
Objective-C EXC_? (11) (code=0, subcode=0x0)
Delphi БД Access violation at address 00A415FB in module 'Project1.exe'. Write of address FFFFFFC
Delphi Access violation at address in module. Read of address при скачивании файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
25.11.2013, 07:18     EXC_BAD_ACCESS(code=2, address=0x5) #2
Цитата Сообщение от lowlol Посмотреть сообщение
пытаюсь написать программу, которая переводит из 10 в двоичную сс
создал класс core где описал одну функцию
вот код:
Вы молодец, что пытаетесь. Создали, описал, что дальше?
И зачем наследоваться от UIView?
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
25.11.2013, 08:47  [ТС]     EXC_BAD_ACCESS(code=2, address=0x5) #3
Дальше хотел потестить как работает функция и по кнопке выводить в лэйбл переведенное число, взятое из текстфилда. Сам не знаю как получилось, что он от UIView унаследовался, это как-то могло вызвать эту ошибку?
Монфрид
 Аватар для Монфрид
1185 / 995 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
25.11.2013, 09:32     EXC_BAD_ACCESS(code=2, address=0x5) #4
ставьте брейкпоинты и смотрите, где вылетает
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
25.11.2013, 09:41     EXC_BAD_ACCESS(code=2, address=0x5) #5
Objective-C
1
NSInteger temp = *inputNumber; //при компиляции ругается здесь
Правильно ругается.

Objective-C
1
2
NSInteger * myInt = [textFieldInput.text intValue];
    labelAnswer.text = [example convertToBinary: myInt];
Так:
Objective-C
1
2
NSInteger myInt = [textFieldInput.text intValue];
    labelAnswer.text = [example convertToBinary: myInt];
Затем,
Objective-C
1
2
3
4
5
-(NSString*) convertToBinary:(NSInteger*) inputNumber
{
    int k = 0;
    NSInteger temp = *inputNumber; //при компиляции ругается здесь
    NSString *returnString;
Так:
Objective-C
1
2
3
4
5
- (NSString*)convertToBinary:(NSInteger) inputNumber
{
    int k = 0;
    NSInteger temp = inputNumber; //при компиляции ругается здесь
    NSString *returnString = nil;
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
25.11.2013, 19:26  [ТС]     EXC_BAD_ACCESS(code=2, address=0x5) #6
спасибо, а почему там не должно быть указателей?
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
26.11.2013, 08:13     EXC_BAD_ACCESS(code=2, address=0x5) #7
Потому что у вас есть значение, которое вернул метод intValue, возвращаемое значение которого не является указателем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2013, 17:33     EXC_BAD_ACCESS(code=2, address=0x5)
Еще ссылки по теме:

Objective-C Ошибка EXC_BAD_ACCESS
Access violation at address 501F084A in module vcl120.bpl. Read of address 00000374 C++ Builder
EXC_BAD_ACCESS(code=1, address=0x68) Objective-C
Debian Linux Signal: Segmentation fault (11) Signal code: Address not mapped (1)
Ошибка: Access violation at address 00474918 in module read of address Delphi

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
albert102
 Аватар для albert102
-21 / 1 / 0
Регистрация: 30.10.2013
Сообщений: 53
27.11.2013, 17:33     EXC_BAD_ACCESS(code=2, address=0x5) #8
Цитата Сообщение от lowlol Посмотреть сообщение
спасибо, а почему там не должно быть указателей?
беретн энциклопедию по objective c и читаете первые 250 страниц
Yandex
Объявления
27.11.2013, 17:33     EXC_BAD_ACCESS(code=2, address=0x5)
Ответ Создать тему
Опции темы

Текущее время: 20:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru