| 

.NET C# Java Javascript Exception

2
Hallo Leute , ich suche wieder mal nach einer Problem lösung. Vielleicht kann ja wer helfen, DANKE !

Ich möchte in meiner " (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath " ein Image in jeder Spalte anzeigen.
Das problem dabei ist die Images befinden sich im Documents Folder und haben alle die
Bezeichnung image_100.png, image_101.png ..... Grund der Bezeichnung ist das ich eine
premiumId aus meine SQLite DB bekommen die so einzubinden wäre NSString ... customer.premiumId
Ich hab das ganze ja schon gemacht und es funktioniert bestens. zb. eine Homepage URL sieht
so aus : http://testseite.dom/premiumpages/page_%@.html", self.customer.premiumId)...

und jetzt möchte ich das system auch in meiner TableView benutzen um zu jedem Kunden auch das Richtige Logo (Image) zu bekommen.
danke.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString* cellIdentifier = @"CustomerCell";
CustomerTableViewCell *cell = (CustomerTableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil){
cell = [[CustomerTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

}

Customer *customer;
if([self sortType] == kCustomerSortTypeDistance)
restaurant = [[self.customer objectForKey:@"All"] objectAtIndex:indexPath.row];
else
customer = [[self.customer objectForKey:[Alphabet letterAtIndex:(indexPath.section - sectionIndexBuffer)]] objectAtIndex:indexPath.row];

cell.name.text = customer.name;
[cell.name sizeToFit];
cell.address.text = customer.address;
cell.suburb.text = customer.suburb;
cell.isSortedByDistance = (self.sortType == kCustomerSortTypeDistance);
//// ich denke da muss das rein ? ...NSStrin.. customer.premiumId <- gibt mir die image Id

cell.myImageView.image = [UIImage imageNamed:@"cell_kunden_logo120.png"]; //// cell test Photo Statisch!

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

if([LocationRepository latitude] != 0 && [LocationRepository longitude] != 0)
{
if(customer.distance > 50){
cell.distance.text = [NSString stringWithFormat:@"%1.0fkm", customer.distance];
}
else{
cell.distance.text = [NSString stringWithFormat:@"%1.2fkm", customer.distance];
}
}
else
cell.distance.text = @"";

return cell;
}
04.01.2012
snuffy 231 1 5
snuffy 231 1 5
5 Antworten
1
hmm, verstehe dein Problem nicht ganz. Reicht es nicht wenn du mit

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths objectAtIndex:0];
NSString *imagePath = [NSString stringWithFormat:@"%@/cell_kunden_logo%@.png", documentPath, customer.premiumId];
cell.myImageView.image = [UIImage imageNamed:imagePath];

den Pfad formatierst? Kann sein dass der Code nicht 100% funktioniert ich tippe das hier am PC :)
04.01.2012
puls200 3,8k 7
0
hallo plus200,

erstmal danke für den super tipp, ich hab den code eingebaut , das statische png gelöscht aber jetzt zeigt er mir nihts an, kann das sein das der documents path ein anderer ist?
es werden keine fehler ausgegeben. :(
04.01.2012
snuffy 231 1 5
2012-01-04 18:45:30.384 GFNSW[2874:707] (null)
2012-01-04 18:45:30.436 GFNSW[2874:707] /var/mobile/Applications/C43D9894-C4BC-43B2-9A1D-F1EA77B76344/Documents

spannung steigt :) was ist da los? gibt null aus :(
snuffy 04.01.2012
documentPath ist null? das kann ich mir nicht vorstellen. Wenn du den Code im Sim. laufen lässt sollte der String in etwa so aussehen: /Users/<benutzername>/Library/Application Support/iPhone Simulator/User/Applications/<irgendeine Guid>/Documents
puls200 04.01.2012
0
Hallo ,... hatte ihm am Device laufen, dein code passt bestens, sehr gut DANKE.
der Fehler ist mir schon bekannt, muss ihn nur mehr finden :)
ich kann Doch da auch noch ein default image einhängen oder?
das geht irgedwie mit if... else . so irgendwie denk ich mal.
04.01.2012
snuffy 231 1 5
Ja so in der Art. Du kannst ja testen ob die Datei vorhanden ist z.B. so BOOL dateiVorhanden = [[NSFileManager defaultManager] fileExistsAtPath:imagePath];
oder einfach ein Default-Bild zuweisen, falls das FALSE sein sollte. Gutes Gelingen :)
puls200 04.01.2012
0
cool, muss ich schaun wie das gent, aber ein problem han ich noch mit deinem code, er gibt mit nur jede zweite zeile aus schau mal ... weisst du was da sein kann ?

Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents
2012-01-04 21:04:54.650 GFNSW[5888:15803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents/image_125.png
2012-01-04 21:04:55.003 GFNSW[5888:15803] /Users/xxxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents
2012-01-04 21:04:55.003 GFNSW[5888:15803] /Users/xxxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents/image_109.png
2012-01-04 21:04:55.403 GFNSW[5888:15803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents
2012-01-04 21:04:55.403 GFNSW[5888:15803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents/image_104.png
2012-01-04 21:04:56.666 GFNSW[5888:15803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents
2012-01-04 21:04:56.666 GFNSW[5888:15803] /Users/xxx/Library/Application Support/iPhone Simulator/5.0/Applications/ABFA02E0-49D0-4608-B1B3-9A4E4BEC8587/Documents/image_103.png
04.01.2012
snuffy 231 1 5
da er im Log dir imges ausgibt und keine anzeigt hab ich welche erstellt und in den document folder gegeben, jetzt werden genau diese im log feil auch nicht mehr ausgegeben , und auch nicht angezeigt. hatte schon mal wer so ein problem ?
snuffy 04.01.2012
ok ich hab mich verschaut, es sind doch welche dabei die auch verhanden sind , aber diese werden nicht angezeigt, und jede zweite image ausgabe fehlt.
snuffy 04.01.2012
0
so leute für alle die in diesem fall auch daneben stehen, die oben genannten probleme haben sich mit dem einbau des Default logos erübigt ;)

so sieht das resultat in meinem fall aus, es funktioniert bestens und sehr schnell.

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths objectAtIndex:0];
NSString *imagePath = [NSString stringWithFormat:@"%@/image_%@.png", documentPath, customer.premium2];
cell.myImageView.image = [UIImage imageNamed:imagePath];


if ([[NSFileManager defaultManager] fileExistsAtPath:imagePath])
cell.myImageView.image = [UIImage imageWithContentsOfFile:imagePath];
else
cell.myImageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"blockbtn" ofType:@"png" inDirectory:@"/"]];
return cell;
NSLog(@"%@",documentPath);
NSLog(@"%@",imagePath);


danke für jegliche Hilfe !!
04.01.2012
snuffy 231 1 5

Stelle deine Iphone-Frage jetzt!