2015-10-03 157 views
-2

這不是整個代碼,但我試圖讓它看起來像一個textview框,看看是否已經放入一個值。如果不是,我希望它做第一位,如果不是,我希望它去其他...但無論我做什麼,只是崩潰或不工作。objective-c:if statement not working properly

-(IBAction) sendPressed{ 

    if((youtubeurl.text = @"")){ 
     //if it doesnt have value 
     NSLog(@"no youtube clip"); 
     youtubelink = @""; 
    } 
    else{ 
     //if youtube url has been entered 
     NSLog(@"youtube clip found"); 
     completeurl = youtubeurl.text; 
     youtubelink = [completeurl substringFromIndex:16]; 
    } 
+0

是什麼類型youtubelink?如果這不是NSString,它是不好的主意分配字符串,(這將是youtubelink.text = @「」) – PetrV

+2

可能重複的[如果NSString不等於函數?](http://stackoverflow.com/questions/ 15375815/if-nsstring-does-not-equal-function) –

回答

2

您的if語句正在執行任務。您可能打算進行比較。此外,您不應使用==來比較NSString。嘗試是這樣的:

- (IBAction)sendPressed { 
    if([youtubeurl.text isEqualToString:@""]) { 
     //if it doesnt have value 
     NSLog(@"no youtube clip"); 
     youtubelink = @""; 
    } 
    else{ 
     //if youtube url has been entered 
     NSLog(@"youtube clip found"); 
     completeurl = youtubeurl.text; 
     youtubelink = [completeurl substringFromIndex:16]; 
    } 
} 
+0

這似乎已經完成了技巧謝謝 – user4853792

0
if ([youtubeurl.text isEqualToString:@""]) 

這是正確的if語句。一個=是一個賦值,而不是一個相等性檢查。另外,你不能用==比較字符串。這樣你比較指針。

另一種方法是檢查字符串長度:

if (youtubeurl.text.length > 0)