2012-01-30 32 views
0
表示一個電池的陣列

我從SQL數據裝載到一個NSMutableArray可以說其高度的條目和重量的表中的每個具有時間戳(的NSDate)其中3個對象中的UITableView

所以用戶輸入身高和體重!

我打電話給條目,以獲取按timeStamp排序的所有數據,即最新的是第一個。

這是我拿到訂單,

- 高度 - 2012年1月30日 - 重量 - 2012年1月30日

- 高度 - 30 2011年12月 - 重量 - 30 2011年12月

- 身高 - Novem 2011 -Weight - Novem 2011

所以我有6個對象在我的mutableArray。

雖然在tableView數據源中,我只想要3行。每個都有ht/wt的組合。

那麼,我的函數在cellforRow/numberOfRows /中,並再次檢索didSelectRow中的這些組合。

2另外,在上面的例子中,每行有2個對象,如果還有另外一種情況,我需要3個對象。 例如,收縮壓/舒張壓/脈搏壓全部由用戶輸入並在排序的時間戳中檢索, 在這種情況下,每行將有3個對象表示,並且3行將總共有9個。

每一行代表的對象數將在我要求輸入之前預先定義,所以我會知道每個單元將要具有的對象的數量......只是不知道該怎麼去做..

感謝您的幫助!

[編輯:]我會澄清一兩件事,這些條目表 - 擁有自己的Entryobject類 每個類都有AN- - 數值 -Timestamp -CategoryID

原因我不」 t想要爲高度/重量定義對象是因爲: - 高度和重量不會在單行中返回..它取決於類別的組合,例如BodyMassIndex類別將返回如上所述的2個條目的組合,所以id必須在這裏再次計算,這會破壞對象本身的目的。

  • 其他原因是,我無法定義它,我不知道如果一個條目是SBP,高程或重量。其CategoryObject會叫什麼,可以說對高程項和WT項,都有一個類別ID爲1 SBP,DP,PP將有一個類別ID爲2

這種方式是爲了使應用更具可擴展性爲將來!儘管它讓我失望!

嗯,得到了一個解決方案使用mAtH!這會在內存上超級昂貴嗎?

fieldCount是屬性的數量。 ht和wt = 2!

limiterIndex=indexPath.row * fieldCount; 

    NSMutableArray *returnArray = [NSMutableArray new]; 

    for(int i=limiterIndex; i<(limiterIndex+fieldCount); i++){ 
    [returnArray addObject:[entriesArray objectAtIndex:i]; 
    } 
    [cell setDataFromArray:returnArray]; 
    [returnArray release]; 

林不知道這會工作,但它似乎來自於一身的條目陣列得到每個小區的條目!至少在紙面上!

似乎是一個昂貴的方式去呢?

回答

0

您應該製作一個自定義對象,以保存單個單元格中所需的每個數據。然後將它們放在一個數組中,並將其用作數據源。

在你的情況,把寬度和高度數據放在一些myObject中。然後將這些myObjects放入一個myObjectsArray中,並將其用作其數據源。

然後在你的單元格中提取一個myObject並從中提取高度和寬度。

這個你可以用它來填充單元格中的cellForRowAtIndexPath:

這ü可以使用在heightForRowAtIndexpath細胞的尺寸:

當然你也可以爲其他數據也這麼做。只需製作一個包含您的表格的數據的自定義對象。

簡而言之,我建議製作這些自定義對象並將它們用作tableView的數據源。 你會弄明白。 祝你好運。

+0

哎,對了,你的右手,理想的情況是一個自定義的對象,同時擁有HT/WT的應該使用。 但是,這僅僅是許多其他類似情況的例子,其中每個單元的對象可能只有一個或兩個(單位爲ht/wt)或3個單位(sBP/DBP/PP) 並且每個條目都接收到用戶名在具有Value,TimeStamp,Category的對象中。它來自這個Entry對象類。問題是我不想將我檢索的對象定義爲條目,它可能是關於其他任何條目的條目。不只是ht/wt。只取決於我從類別表中調用什麼。 也許我會以某種方式ID添加/分項 - > nsdict? – user134611 2012-01-30 13:20:40

+0

我編輯的問題更清晰 – user134611 2012-01-30 13:35:24

+0

那麼你應該使用該自定義對象,但你也必須以某種方式識別它們。如果它不關心什麼數據de對象持有你可能想要使用一個數組,其中你把所有的數據,然後把數組放在你的數據源。所以當你調用數據源中的對象時,它會返回一個數組,然後可以用它來顯示它的內容,無論它們是哪一個。理解?:) – 2012-01-30 14:24:13

0

我會創建一個模型對象來檢索所有條目的主數組。

該模型對象也有方法根據傳遞的索引返回正確的數據。

weightString = (NSString*)[self.dataModel getWeightAtIndex:indexPath.row]; 

然後,我會根據需要爲單元格添加文本/字段視圖來動態創建單元格。

編輯:

如果你想要,可以在它返回什麼創造一個等而不同的方法:

weightString = (NSString*)[self.dataModel getDataAtIndex:indexPath.row forDataType:@"weight"]; 
+0

您可以請擴展,我很喜歡它。但是你看,我創建的任何自定義對象都會有'getWeightAtIndex'等方法,但如果輸入是關於血壓讀數的呢?脈壓?高度?它可以是任何東西.. – user134611 2012-01-30 13:20:13

+0

我編輯的問題更清晰.. – user134611 2012-01-30 13:36:12