+ (void)mappingNotNULLWithArray:(NSArray *)array
atClass:(Class)aClass
success:(void (^)(NSMutableArray *arrayObject))success
{
NSMutableArray *arrayResult = [NSMutableArray new];
NSObject *object = [[aClass alloc] init];
for (NSDictionary *dictionary in array) {
object = [[aClass alloc] init];
for (NSString *key in [dictionary allKeys]) {
if ([object respondsToSelector:NSSelectorFromString(key)]) {
if (![[dictionary valueForKey:key] isEqual:[NSNull null]]) {
[object setValue:[dictionary objectForKey:key] forKey:key];
}
}
}
[arrayResult addObject:object];
}
success (arrayResult);
}
#pragma mark - UISearchBarDelegate
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
[dictionaryFilteredCustomers removeAllObjects];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.company contains[cd] %@", searchText];
NSArray *arrayObject = [dictionaryCustomers allValues];
for (int i = 0; i < [arrayObject count]; i++) {
for (customers in [arrayObject[i] filteredArrayUsingPredicate:predicate]) {
NSString *fisrtSymbol = [[customers company] substringToIndex:1];
fisrtSymbol = [fisrtSymbol uppercaseString];
if ([[dictionaryFilteredCustomers allKeys] containsObject:fisrtSymbol] == NO) {
dictionaryFilteredCustomers[fisrtSymbol] = [NSMutableArray new];
}
[dictionaryFilteredCustomers[fisrtSymbol] addObject:customers];
arrayFilteredKeys = [[dictionaryFilteredCustomers allKeys] sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) {
return [obj1 compare:obj2];
}];
}
}
if ([dictionaryFilteredCustomers count] == 0) arrayFilteredKeys = @[];
[[[self customersView] tableViewSetting] reloadData];
}
if (<customer.company содержит sFilter>)
<?php
$con=mysqli_connect("127.0.0.1", "root","", "Messages", 3306);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM User");
while($row = mysqli_fetch_array($result)) {
echo $row['first_name'] . " " . $row['last_name'];
echo "\n";
}
mysqli_close($con);
?>
#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [arrayAllPeople count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[[arrayAllPeople objectAtIndex:section] valueForKey:@"comments"] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CommentViewCell *commentCell = [[self tableViewAllCheckins] dequeueReusableCellWithIdentifier:@"CommentCell"];
UITableViewCell *cell = [[self tableViewAllCheckins] dequeueReusableCellWithIdentifier:@"Cell"];
userInfo = [arrayAllPeople objectAtIndex:[indexPath section]];
/* arrayComments - выше заполняю его только комментариями. */
comments = [arrayComments objectAtIndex:[indexPath row]];
if ([indexPath section]) {
// Заполняю...
cell...
}
if ([indexPath row]) {
// Заполняю...
commentCell...
}
- Имею тестовый проект, куда могу Вам скинуть?
О таком варианте я знаю, но он не спасает, так как может быть больше чем 1 relationship, и тогда соответственно нужно будет к каждому relationship писать свой код, у меня же идея создать какой-нить универсальный код, который просто мапал бы данные в объект, так как это происходит с NSObject - (повторюсь, готов закинуть тестовый проект)