Parse.com online user megoldás !!

XCode AppleSokan kérdeztétek, hogy lehetséges-e vagy a Parse.com SDK tartalmazza az online user hivatkozást ! Sajnos ilyen nincs a rendszerben és nem lehet rá hivatkozni úgy mint a [PFUser currentUser].username; de kitaláltam egy megoldást amivel ez a hiányosság megoldható !
Nem kell mást tennünk mint egy igaz-hamis megoldást letárolni és erre hivatkozni !
A beléptető rendszernél adjuk hozzá:
[PFUser currentUser][@”online”] = @YES;
[[PFUser currentUser] saveInBackground];

Ezzel létrehoztuk az User táblában egy online oszlopot ahova beraktuk az igaz állítást ! A kiléptetőnél [PFUser logout]; ott meg a YES helyett legyen NO ! Így az előző oszlopban a felhasználó adat sorában hamis állítás lesz majd !
Hogy is kérdezzük le, hogy mi az igaz és mi a hamis ??
[[[PFUser currentUser]objectForKey:@”online”]boolValue]; ezzel megkapjuk az igaz értéket !
Ha leakarjuk kérni hány darab belépett felhasználó van a rendszerben akkor azt is megtehetjük a következő sorokkal ! Létrehozunk egy Label-t kódból vagy aki lusta akkor hozzáadja 🙂 !

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40, 200, 0, 24)];
NSString *onli =[NSString stringWithFormat:@”%d”,[[[PFUser currentUser]objectForKey:@”online”]boolValue]];
label.text = [NSString stringWithFormat:@”%@ %@”,@”Online user:”,onli];
label.font = [UIFont fontWithName:@”HelveticaNeue” size:16];
[view addSubview:label];

Ezzel meg is vagyunk de jön a kérdés, ha van egy táblánk ahol a felhasználók vannak kilistázva ott mi a megoldás !
Nem csinálunk nagy dolgot csak kell egy összehasonlítás a megjelenített adatok ( felhasználónév ) és a belépett felhasználó [PFUser currentUser].username azonos-e, ha igen akkor megjelenít egy  pl: ikont ha meg nem azonos ( nem online a felhasználó akkor meg egy másik ikont !
Valahogy így:
if ([[object objectForKey:@”felhasznalonev”] isEqualToString:[PFUser currentUser].username])

{
UIImageView *imageVieww = [[UIImageView alloc] initWithFrame:CGRectMake(0, 1, 10, 54)];
imageVieww.backgroundColor = [UIColor greenColor];
[cell.contentView addSubview:imageVieww];
// ha a listában szereplő nevek közül azonos a belépett felhasználó nevével akkor egy zöld csík jelenik meg a cellában !

}
else if (![[object objectForKey:@”felhasznalonev”] isEqualToString:[PFUser currentUser].username])
{
UIImageView *imageVieww = [[UIImageView alloc] initWithFrame:CGRectMake(0, 1, 10, 54)];
imageVieww.backgroundColor = [UIColor redColor];
[cell.contentView addSubview:imageVieww];

}

Ennyi az egész, igaz jobb lenne ha megoldanák a Parse.com fejlesztői a [PFUser currentUser].onlineUser hivatkozást, de addig itt a megoldás tőlem !

Reklámok

Hozzászólás

Kategória: Források

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google kép

Hozzászólhat a Google felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s