Назначение из несовместимого типа указателя? - PullRequest
0 голосов
/ 18 декабря 2010

Я совершенно новичок в разработке для iPhone и, в основном, на любом языке Си.Я понимаю концепцию переменных и т. Д., Поэтому я пытаюсь использовать их базовым образом, чтобы лучше понять концепцию.К сожалению, я получаю предупреждения компилятора, когда я пытаюсь сделать что-то очень простое: я просто хочу присвоить значения своим 5 переменным.
Код ViewController.h:
@interface MyApplicationViewController : UIViewController {

IBOutlet UITextView *variable1;
IBOutlet UITextView *variable2;
IBOutlet UITextView *variable3;
IBOutlet UITextView *variable4;
IBOutlet UITextView *variable5;


}

[Я знаю, что теоретически я мог бы связать эти переменные с текстовыми представлениями в IB, но я не]

@property (nonatomic, retain) IBOutlet UITextView *variable1;  
@property (nonatomic, retain) IBOutlet UITextView *variable2;  
@property (nonatomic, retain) IBOutlet UITextView *variable3;  
@property (nonatomic, retain) IBOutlet UITextView *variable4;  
@property (nonatomic, retain) IBOutlet UITextView *variable5;  


@end  

Код ViewController.m:

@implementation MyApplicationViewController  
    @synthesize variable1;  
    @synthesize variable2;  
    @synthesize variable3;  
    @synthesize variable4;  
    @synthesize variable5;  
    - (void)viewDidLoad {  
    variable1 = "memory text1"; [Warning]  
    variable2 = "memory text2"; [Warning]  
    variable3 = "memory text3"; [Warning]  
    variable4 = "memory text4"; [Warning]  
    variable5 = "memory text5"; [Warning]  
    }

Я не освобождаю свойпеременные, потому что я хочу сохранить их в памяти, пока приложение полностью не завершится.Почему я получаю эти предупреждения?Я делаю что-то не так?Все, что я собираюсь сделать здесь, это сохранить значения переменных (memorytext1, memory text 2 и т. Д.) В памяти.Я посмотрел другой разговор об этом предупреждении о переполнении стека, но их проблема, похоже, не соответствовала моей, хотя предупреждение было таким же.Пожалуйста, не говори ничего слишком сложного, потому что я все еще новичок в этом.Спасибо!

Ответы [ 3 ]

5 голосов
/ 18 декабря 2010

Есть 2 проблемы:

  • Первая проблема заключается в том, что вы пытаетесь присвоить строку переменным ваших текстовых полей - если вы хотите установить текст поля, вы должны использовать его текстовое свойство
  • 2-я проблема (которая на самом деле выдает предупреждение компилятора) состоит в том, что "строка" означает литерал c-строки - вместо этого следует использовать @ "строку"

Поэтому правильный код для установки текста текстового полядолжно быть

variable1.text = @"text1";
0 голосов
/ 18 декабря 2010

Владимир прав, если вы используете файл NIB для назначения свойств UITextView.Если вы не используете NIB, ваши переменные будут равны нулю, и ваши строки нигде не будут назначены.

0 голосов
/ 18 декабря 2010

Вам не хватает @ в начале текста!

variable1.text = @"memory text1";
variable2.text = @"memory text2"; 
variable3.text = @"memory text3"; 
variable4.text = @"memory text4"; 
variable5.text = @"memory text5"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...