【发布时间】:2023-03-25 13:55:02
【问题描述】:
我在尝试为用户名编制索引的数组中重新分配数据时遇到问题。我能够将我的原始数组分成单独的对象,但无法将值发送到我需要稍后引用的新数组。我的self.userNamesArray = userNames; 行中用户名的值和计数是正确的。但是在那之后,当我登录 self.userNamesArray 时,我得到(null)。任何提示,因为我不完全确定我是欢呼!
.h
@property (nonatomic, copy) NSMutableArray *userNamesArray;
.m
- (void)viewWillAppear:(BOOL)animated {
self.friendsRelation = [[PFUser currentUser] objectForKey:@"friendsRelation"];
PFQuery *query = [self.friendsRelation query];
[query orderByAscending:@"username"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
else {
self.friends = objects;
NSArray *users = [self.friends valueForKey:@"username"];
NSLog(@"username:%@", users);
//Create an array of name wrappers and pass to the root view controller.
NSMutableArray *userNames = [[NSMutableArray alloc] initWithCapacity:[self.friends count]];
for (NSString *user in users) {
componentsSeparatedByCharactersInSet:charSet];
NSArray *nameComponents = [user componentsSeparatedByString:@" "];
UserNameWrapper *userNameWrapper = [[UserNameWrapper alloc] initWithUserName:nil nameComponents:nameComponents];
[userNames addObject:userNameWrapper];
}
self.userNamesArray = userNames;
NSLog(@"userNamesArray:%@",self.userNamesArray);
[self.tableView reloadData];
}
这是我需要引用 self.userNamesArray 的代码,这里又是 nil。
- (void)setUserNamesArray:(NSMutableArray *)newDataArray {
if (newDataArray != self.userNamesArray) {
self.userNamesArray = [newDataArray mutableCopy];
if (self.userNamesArray == nil) {
self.sectionsArray = nil;
NSLog(@"user names empty");
}
else {
[self configureSections];
}
}
}
【问题讨论】:
-
请添加语言标签。
标签: ios objective-c arrays sorting object