我對iOS編程相當陌生,並試圖將用戶輸入字符串從文本字段傳遞到另一個視圖,並使用單個視圖。我的應用程序的目的是讓用戶輸入車輛名稱或型號,然後顯示Craigslist搜索它。以單身人士傳遞字符串
看過一些YouTube指南後,看起來我的代碼應該工作,但字符串沒有被傳遞,它只顯示爲(空)。誰能說出有什麼問題?
這些都是我的相關設置和獲取字符串單文件和代碼,我對我所有的文件導入語句GlobalVariables.h
:
GlobalVariables.h
@interface GlobalVariables : NSObject{
NSString *globalStr;
}
@property(nonatomic, strong) NSString *globalStr;
+(GlobalVariables *) singleObj;
@end
GlobalVariables.m
@implementation GlobalVariables
@synthesize globalStr;
static GlobalVariables *singleObj = nil;
+ (GlobalVariables *) singleObj{
@synchronized(self){
if (singleObj==nil){
singleObj = [[self alloc]init];
}
}
return singleObj;
}
@end
設置globalStr的代碼:* nameTextField
是用戶輸入字段
-(IBAction)searchButtonPressed:(id)sender
{
textToPass = nameTextField.text;
[self passValues];
}
- (void) passValues{
GlobalVariables *myVar = [GlobalVariables singleObj];
myVar.globalStr = textToPass;
}
代碼來獲取globalStr
GlobalVariables* myVar = [GlobalVariables singleObj];
NSString *searchStr = myVar.globalStr;
馬特在下面的回答表明,你確定textToPass它不是'nil'? –
請注意,請不要使用單身來「傳遞」參數。你會在腳下開槍自殺。瞭解如何使用正確的參數和查看控制器字段。 –
這是如何編譯的?你有一個實例變量,也是一個具有相同名稱和類型的屬性?我建議你刪除實例變量聲明'{NSString * globalStr;}'並重試。 – Kedar