8

JSON をロードしていますが"URL": "",、json が空であることを確認したいのですが、ID が空である場合があります。どうすれば確認できますか?

if(URL == HOW TO CHECK IF EMPTY?)
{

}
else
{

}

エラー:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
4

9 に答える 9

6

うーん、やってみる

if ([URL isEqualToString:@"The URL?"]) {
于 2012-05-17T13:26:30.343 に答える
4

URLオブジェクトが文字列の場合は、次のいずれかを使用できます。

if([string length] == 0) { //empty }

また

if([string isEqualToString:@""]) { // empty }

URLオブジェクトがNSURLの場合、次を使用できます。

if([[url absoluteString] isEqualToString:@""]) { //empty }
于 2012-05-17T13:10:08.187 に答える
4
if (URL ==  [NSNull null]) {
    //...
} else {
    //...
}

または

if (URL == nil) {
    //...
} else {
    //...
}

または URL の長さを確認する

于 2012-05-17T13:08:45.550 に答える
2

JSON データを扱うとき、私は非常に注意する傾向があります。NSDictionary に逆シリアル化された JSON があるとします。そこで、キー「URL」に関連付けられた文字列を辞書から取り出して、NSURL に変換する必要があります。さらに、JSON や文字列値に 100% の自信があるわけではありません。

私はこのようなことをします:

NSURL *URL = nil;
id URLObject = [JSON valueForKey:@"URL"];
if ([URLObject isKindOfClass:[NSString class]] && [URLObject length] > 0) {
    URLObject = [URLObject stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    URLObject = [URLObject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    URL = [NSURL URLWithString:URLObject];
}

この後、URL は nil または有効な URL になります。-isKindOfClass: NSDictionary、NSArray、NSNumber、または NSNull である値を除外します。-length > 0 は空の文字列を除外します (ご存知のように、NSURL を台無しにする可能性があります)。部分的にエンコードされた URL を処理する URL エスケープをデコードしてから再エンコードする余分なパラノイア。

于 2012-05-17T14:26:40.210 に答える
2
if (url.absoluteString.length==0)
{
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error" message:@"Please enter a url" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
    [alert show];
}
于 2015-07-11T10:21:18.537 に答える
0

保存方法によっては、null(URL == nil)か、文字列が空かどうかを確認する必要があります。URLがNSStringに格納されているとすると、次のようになります。

BOOL empty = URL == nil || [URL length] == 0;
于 2012-05-17T13:10:26.220 に答える
0

これを試して。それは私のために働いた。

NSURL *url;
if ([url path])
{
    // url is not empty
}
else
{
    // url is empty
}
于 2014-12-18T10:32:02.113 に答える