Ios 填充tableView的多个数组
我正在使用tableView显示朋友列表。每种类型都存储在一个数组中。Ios 填充tableView的多个数组,ios,nsarray,tableview,Ios,Nsarray,Tableview,我正在使用tableView显示朋友列表。每种类型都存储在一个数组中。 当显示viewController时,我将分别从我的web服务请求每个阵列。(OUT、IN和FRIENDS) 我得到的数据是一个对象数组,每个对象有三个属性:pictureID、profileID和name。 每个数组都显示在一个部分中,但这些部分的顺序很重要。 我希望传出的friend请求在第一部分,传入的在第二部分,friend在第三部分,前提是这些数组中有元素,如果没有,所有其他的将在顺序中向上移动一个位置。我希望你能
当显示viewController时,我将分别从我的web服务请求每个阵列。(
OUT
、IN
和FRIENDS
)我得到的数据是一个对象数组,每个对象有三个属性:pictureID、profileID和name。
每个数组都显示在一个部分中,但这些部分的顺序很重要。
我希望传出的friend请求在第一部分,传入的在第二部分,friend在第三部分,前提是这些数组中有元素,如果没有,所有其他的将在顺序中向上移动一个位置。我希望你能理解 我现在这样做真的很尴尬。 对于从服务器获得的每个阵列(friendsArray、incomingArray、outgoingArray): 我认为这部分是完全正常的。
但是现在
numberOfSectionsInTableView
:
if (outgoingArray.count > 0 && incomingArray.count == 0 && friendsArray.count == 0) {
return 1;
}
if (outgoingArray.count == 0 && incomingArray.count > 0 && friendsArray.count == 0) {
return 1;
}
if (outgoingArray.count == 0 && incomingArray.count == 0 && friendsArray.count > 0) {
return 1;
}
if (outgoingArray.count > 0 && incomingArray.count > 0 && friendsArray.count == 0) {
return 2;
}
if (outgoingArray.count > 0 && incomingArray.count == 0 && friendsArray.count > 0) {
return 2;
}
if (outgoingArray.count == 0 && incomingArray.count > 0 && friendsArray.count > 0) {
return 2;
}
if (outgoingArray.count > 0 && incomingArray.count > 0 && friendsArray.count > 0) {
return 3;
}
//default
return 0;
switch (section) {
case 0:
if (outgoingArray.count > 0){
return outgoingArray.count;
}else if (incomingArray.count > 0){
return incomingArray.count;
}else if (friendsArray.count > 0){
return friendsArray.count;
}else{
return 0;
}
break;
case 1:
if (outgoingArray.count > 0 && incomingArray.count > 0){
return incomingArray.count;
}
if (outgoingArray.count == 0 && incomingArray.count > 0) {
return friendsArray.count;
}
case 2:
return friendsArray.count;
default:
return 0;
break;
}
请。。。一定有更容易做到这一点的方法吗?
第节中的行数也是如此:
if (outgoingArray.count > 0 && incomingArray.count == 0 && friendsArray.count == 0) {
return 1;
}
if (outgoingArray.count == 0 && incomingArray.count > 0 && friendsArray.count == 0) {
return 1;
}
if (outgoingArray.count == 0 && incomingArray.count == 0 && friendsArray.count > 0) {
return 1;
}
if (outgoingArray.count > 0 && incomingArray.count > 0 && friendsArray.count == 0) {
return 2;
}
if (outgoingArray.count > 0 && incomingArray.count == 0 && friendsArray.count > 0) {
return 2;
}
if (outgoingArray.count == 0 && incomingArray.count > 0 && friendsArray.count > 0) {
return 2;
}
if (outgoingArray.count > 0 && incomingArray.count > 0 && friendsArray.count > 0) {
return 3;
}
//default
return 0;
switch (section) {
case 0:
if (outgoingArray.count > 0){
return outgoingArray.count;
}else if (incomingArray.count > 0){
return incomingArray.count;
}else if (friendsArray.count > 0){
return friendsArray.count;
}else{
return 0;
}
break;
case 1:
if (outgoingArray.count > 0 && incomingArray.count > 0){
return incomingArray.count;
}
if (outgoingArray.count == 0 && incomingArray.count > 0) {
return friendsArray.count;
}
case 2:
return friendsArray.count;
default:
return 0;
break;
}
当用户选择一个单元格时,我仍然遇到问题。我需要知道所选配置文件的用户id,因为我要将其传输到下一个viewController。现在我用同样的方法来计算行数 你能创建一个包含所有对象的字典吗?您可以对数组子项执行三个父项,因此您所要做的就是检查字典是否包含父项,然后检查子项的行数。是的,但这将使我在numberOfRowsInSection
中遇到同样的问题。