0
在我的項目中,我有一個搜索欄。在xcode中使用靜態變量
如果在搜索欄中的文本改變了,我需要知道
所以我聲明瞭兩個靜態的NSMutableString比較如下
static NSMutableString *latestKeyWord;
static NSMutableString *secondaryKeyWord;
- (void)viewDidLoad
{
[super viewDidLoad];
[testViewController setSecondaryKeyWord:SBar.text];
[testViewController setLatestKeyWord:SBar.text];
[testViewController changeKeyWord];
}
+(void)setSecondaryKeyWord:(NSMutableString*) text
{
if (!secondaryKeyWord) {
secondaryKeyWord = [NSMutableString stringWithCapacity:200];
}
[secondaryKeyWord setString:text];
}
+(void)setLatestKeyWord:(NSMutableString*)text
{
if (!latestKeyWord) {
latestKeyWord = [NSMutableString stringWithCapacity:200];
}
[latestKeyWord setString:secondaryKeyWord];
}
-(BOOL)changeKeyWord
{
if (! [latestKeyWord isEqualToString:secondaryKeyWord]) {
NSLog(@"changed");
return TRUE;
}else {
NSLog(@"not change");
return FALSE;
}
}
它只是放養,我不知道爲什麼。
你到底想幹什麼?你爲什麼使用靜態變量而不是實例變量?爲什麼'NSMutableString'而不是一個簡單的'NSString'? – DrummerB
我正在解析一個網站。 我有另一個名爲pageNumber的靜態NSInteger和另一個名爲startParsing的函數。 當我第一次打電話給starParsing的時候,它會解析第1頁, 第二次解析頁面2等。 所以pageNumber是記住我需要下一個哪個頁面進行解析。 如果SearchBar中的文本改變了pageNumber需要重置('pageNum = 0') 我聲明瞭兩個'NSMutableString'來比較。 我使用'NSMutableString'是因爲靜態變量只使用前綴'+'的方法,而我沒有找到該方法可以在NSString中用capasity初始化。 感謝您的回覆! –
因此,當文本字段中的文本發生更改時,您希望收到通知? – DrummerB