2010-11-12 61 views
1

我一直在玩iphonesdk網站上的創建PDF教程的代碼,我很難過。當我將一個float傳遞給NSString *文本時,我可以創建一個pdf,但是當我嘗試從UITextField獲取該值時,會出現未聲明的「輸入」。 「輸入」是正確聲明和連接的文本字段的名稱,它工作正常。 這是代碼NSString未申報錯誤

enter code here  

UIGraphicsPushContext(pdfContext); 
CGContextTranslateCTM(pdfContext, 0, 20); 
CGContextScaleCTM(pdfContext, 1.0, -1.0); 
NSString *text = [NSString stringWithFormat:@"%@", input.text]; 
[text drawInRect:CGRectMake(400, -410, 150, 300) withFont:[UIFont fontWithName:@"Helvetica" size:12]]; 
UIGraphicsPopContext(); 
[text release]; 
+0

爲什麼你使用'+ stringWithFormat:'而不是直接分配給'text'?在其他情況下,你確實需要一個單獨的實例,你總是可以使用'-copy'。另外*不要發佈'文本'* - 它是自動發佈的。 – 2010-11-12 21:20:40

+0

你是說編譯器給你一個錯誤說變量「input」還沒有被聲明? – Ryan 2010-11-12 21:49:15

回答

0

確保你有下面的代碼在你的.h和.m文件的頂部:

#import <UIKit/UIKit.h> 

你也可以把代碼中的前綴。 pch文件。

此外,請確保您有@synthesize輸入;在你的@implementation的開頭,你沒有改變@synthesize語句中「input」的名字。即@synthesize input = input_ ;,如果你已經這樣做了,你應該把input_.text而不是input.text。

您也可以使用self.input.text。

+0

感謝您的建議,NSLog顯示我輸入到文本字段的內容,以便其工作正常,直接分配給文本時,我仍然會首先使用未聲明的函數錯誤。是的,編譯器給出錯誤 - 「輸入」沒有聲明。 – Mattog1456 2010-11-13 05:22:37

+0

已經導入了UIkit,並且@synthesize一切正常。 – Mattog1456 2010-11-13 05:23:39

+0

我想我知道這個問題,我試圖將input.text傳遞給C函數,並且它的位置超過了我的頭 – Mattog1456 2010-11-13 06:55:11