2014-12-02 14 views
5

Bir String'in belirli bir dizgi içerip içermediğini kontrol etmek için bir gereksinimim var. Bu amaçla, c ürününün içerdiği NSString sınıfının bir işlevini kullanıyorum. Bu işlev ben kullandım iOS7'de örnek istisna gönderilen tanınmayan seçici seçici

unrecognized selector sent to instance 

istisna önlemek için & catch bloğu deneyin ama bunun neden ben biliyor olabilir istisna her türlü atma olmadan ancak denilen istisna atıyor iOS7 durumunda iOS8 içinde çalışıyor? peşin

Teşekkür dizisi nil değil String alınan eğer

+1

Doğru çözümü alabilmeniz için kullandığınız kod snippet'ini koyabilir misiniz? –

+0

Lütfen sorununuzu çözmek için kodu yapıştırın. – Esha

+0

Bkz. Http://stackoverflow.com/questions/26410420/nsstring-containsstring-crashes –

cevap

14

Çerçeve başlığını kontrol edebilirsiniz. enter image description here

- (BOOL)containsString:(NSString *)aString NS_AVAILABLE(10_10, 8_0); 

containsString Bu yöntem yalnızca iOS 8 o -iOS7 hatayı atmak böylece onun belirgin sonra var ....

-iOS7 için yönteminin altında kullanın ve iOS8 için yöntemin yukarıda kullanabilirsiniz :

if ([string rangeOfString:@"bla"].location != NSNotFound) 
{ 
    NSLog(@"charecter found"); 
} 

Bu sorununuzu çözebilir. Teşekkürler

+0

Evet doğru söyledin. –

+1

Evet, öyle. iOS 8'de eklenen includesString işlevi. Bunu iOS 7'de kullanamıyoruz. –

2

kontrol edin. Problemini çözecek.

Aşağıdaki kodu kullanın sorununuzu çözebilir.

Başka bir dosyayla karşılaşırsanız bana bildirin.

+1

'NSString * strn = @" vals "; ([strn includeString: @ "va"]) { NSLog (@ "GOT IT RE ..."); } 'Bu şey ios8'de çalışır, ancak iOS7'de istisna atar. – Esha

+0

dizisi hiçbir zaman nil –

+1

Bu işlev ios8'de eklendiğini ve ios7'de çalışmamasının bir istisna attığını düşünüyorum. Ben ios8 & ios7 kontrol ettim –

İlgili konular