如何在ios中检查对象是字符串还是数组
我从两个不同的web服务获得一个响应数组。但是对于相同的方法。问题是有两个不同的web服务给了我一些不同的响应。这些是数组如何在ios中检查对象是字符串还是数组,ios,nsstring,nsmutablearray,Ios,Nsstring,Nsmutablearray,我从两个不同的web服务获得一个响应数组。但是对于相同的方法。问题是有两个不同的web服务给了我一些不同的响应。这些是数组 (NSMutableArray *) $2 = 0x003e9210 <__NSArrayM 0x3e9210>( { addedOn = "03/09/2013"; album = "Surendra Perera"; artistGroup = Female; artists = "Surendra Perera"; bpm = 0; cate
(NSMutableArray *) $2 = 0x003e9210 <__NSArrayM 0x3e9210>(
{
addedOn = "03/09/2013";
album = "Surendra Perera";
artistGroup = Female;
artists = "Surendra Perera";
bpm = 0;
categories = "Love Songs";
duration = "250.00";
energy = "";
era = Millenium;
extroTime = "0.00";
extroType = "";
genders = "";
id = 50;
imageUrl = "http://sample.com/CloudMusic/Images/sngfile.png";
introTime = "0.00";
language = Sinhala;
lyrics = "";
mediaUrl = "http://sample.com/CloudMusic/Music/0476/50.mp3";
moods = Lonely;
movie = "";
musicLabel = Evoke;
musician = "";
sDuration = "00:04:10";
soundCodes = "";
tempos = "";
textures = "";
thumbUrl = "http://sample.com/CloudMusic/Images/sngfile.png";
title = "Mee Mai Gaha";
writer = "";
year = "";
}
)
(NSMutableArray*)$2=0x003e9210(
{
addedOn=“03/09/2013”;
album=“Surendra Perera”;
艺人组=女性;
艺术家=“Surendra Perera”;
bpm=0;
类别=“情歌”;
持续时间=“250.00”;
能源=”;
纪元=千年;
extroTime=“0.00”;
外向型=”;
性别=”;
id=50;
imageUrl=”http://sample.com/CloudMusic/Images/sngfile.png";
introTime=“0.00”;
语言=僧伽罗语;
歌词=”;
mediaUrl=”http://sample.com/CloudMusic/Music/0476/50.mp3";
情绪=孤独;
电影=”;
musicLabel=唤起;
音乐家=”;
sDuration=“00:04:10”;
声码=”;
节拍=”;
纹理=”;
拇指URL=”http://sample.com/CloudMusic/Images/sngfile.png";
title=“Mee Mai Gaha”;
作者=”;
年份=”;
}
)
另一个是
addedOn = "19/09/2013";
albumName = Massina;
artists = (
{
artistGroup = 0;
description = "<null>";
id = 290;
imageUrl = "<null>";
name = Daddy;
noOfSongs = 0;
thumbUrl = "<null>";
}
);
duration = "260.00";
id = 2575;
imageUrl = "http://sample.com/CloudMusic/Images/sngfile.png";
mediaUrl = "http://sample.com/CloudMusic/Music/0905/2575.mp3";
sDuration = "00:04:20";
songMoods = (
{
id = 3;
name = Sad;
noOfSongs = 0;
}
);
thumbUrl = "http://sample.com/CloudMusic/Images/sngfile.png";
title = "Aai Kale";
year = "";
}
)
addedOn=“19/09/2013”;
albumName=Massina;
艺术家=(
{
艺人组=0;
description=“”;
id=290;
imageUrl=“”;
name=爸爸;
noOfSongs=0;
拇指URL=“”;
}
);
持续时间=“260.00”;
id=2575;
imageUrl=”http://sample.com/CloudMusic/Images/sngfile.png";
mediaUrl=”http://sample.com/CloudMusic/Music/0905/2575.mp3";
sDuration=“00:04:20”;
歌曲情绪=(
{
id=3;
name=Sad;
noOfSongs=0;
}
);
拇指URL=”http://sample.com/CloudMusic/Images/sngfile.png";
title=“Aai羽衣甘蓝”;
年份=”;
}
)
我要做的是检查这个艺术家阵列。我如何检查这些艺术家是否以数组或字符串的形式出现。请帮帮我
谢谢这会使你的问题变得模糊不清 获取接收数据中的数据rx,然后检查对象的类
id object = [NSJSONSerialization
JSONObjectWithData:_recievedData
options:kNilOptions
error:&error];
if (error)
{
NSLog(@"Error in rx data:%@",[error description]);
}
if([object isKindOfClass:[NSString class]] == YES)
{
NSLog(@"String rx from server");
}
else if ([object isKindOfClass:[NSDictionary class]] == YES)
{
NSLog(@"Dictionary rx from server");
}
else if ([object isKindOfClass:[NSArray class]] == YES)
{
NSLog(@"Array rx from server");
}
这应该对你有帮助
id object = [responseData objectForKey:@"artists"];
if ([object isMemberOfClass:[NSString class]]) {
// do the stuff for NSString
}
else if ([object isMemberOfClass:[NSArray class]]) {
// do the stuff for NSArray
}