2010-12-18 4 views
0

Я совершенно не знаком с разработкой iPhone и в основном на любом языке C. Я понимаю концепцию переменных и т. Д., Поэтому я пытаюсь использовать их в основном, чтобы лучше понять концепцию. К сожалению, я получаю предупреждения компилятора, когда пытаюсь сделать что-то очень простое: я просто хочу присвоить 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] 
    } 

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

ответ

5

Там вы 2 проблемы:

  • первая проблема заключается в том, что вы пытаетесь присвоить строку текста полей переменных - если вы хотите установить текстовое поле, то вы должны использовать его свойства текста
  • вторая проблема (которая на самом деле дает вам предупреждение компилятора) является то, что «строка» означает C-строковый литерал - вы должны использовать @ «строка» вместо

Так правильный код, чтобы установить текст TextField в должно быть

variable1.text = @"text1"; 
+0

Так что, хотя у меня нет текстовых просмотров, будет ли это работать? Я имею в виду, будут ли значения сохраняться в памяти? – Reynold

+0

Если вы хотите просто сохранить строковые значения, используйте для них объекты NSString: NSString * stringVar; ... self.stringVar = @ "memory text1"; – Vladimir

0

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

variable1.text = @"memory text1"; 
variable2.text = @"memory text2"; 
variable3.text = @"memory text3"; 
variable4.text = @"memory text4"; 
variable5.text = @"memory text5"; 
+1

Он отсутствует * много * более того. – bbum

+0

Почему голос? Это правильный ответ. – WrightsCS

+0

ой, ну да, .text – WrightsCS

0

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

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