предупреждение: назначение из отличного типа Objective-C - PullRequest
0 голосов
/ 25 февраля 2010

Я просмотрел все предыдущие вопросы и ответы на эту ошибку, но не могу понять, что я делаю неправильно. Кто-нибудь может помочь?

@synthesize myScrollView;
@synthesize mathsPracticeTextArray;

-(void)loadText
{
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *textFilePath = [bundle pathForResource:@"mathspractice" ofType:@"txt"];
    NSString *fileContents = [NSString stringWithContentsOfFile:textFilePath];
    mathsPracticeTextArray = fileContents;

}

- (void)viewDidLoad {

    [super viewDidLoad];

    myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    myScrollView.contentSize = CGSizeMake(320, 960);
    myScrollView.pagingEnabled = FALSE;    
    myScrollView.scrollEnabled = TRUE;
    myScrollView.backgroundColor = [UIColor whiteColor];

    *[self.view addSubview:myScrollView];
    UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,100,960,40)];
    myLabel.text = [mathsPracticeTextArray componentsJoinedByString:@" "];
    [myScrollView addSubview:myLabel];
    [myLabel release];*
}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

}

- (void)viewDidUnload {
}


- (void)dealloc {

    [myScrollView release]; 
    [mathsPracticeTextArray release];
    [super dealloc];

}

@end

1 Ответ

1 голос
/ 25 февраля 2010

Я предполагаю, что mathsPracticeTextArray объявлен как NSArray* или NSMutableArray*, и в этом случае присвоение ему NSString* (как это происходит в -(void)loadText) вызовет предупреждение, которое вы упомянули в заголовке.

Предупреждение - ключ к пониманию того, что происходит: NSString отличается от NSArray, и вы не можете рассматривать одно как другое. Поскольку вы назначаете объекту неправильный тип переменной, многие сообщения, которые вы отправляете объекту, не могут быть обработаны, и ваше приложение не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...