好的,我有一些看起来像这样的C#代码,我想知道如果我想把它放到Objective-C中,其他开发人员会推荐什么.
List<List<string>> meta_data
Run Code Online (Sandbox Code Playgroud)
我正在计划使用NSMutableArray但是如何准确地得到二维数组是我的问题,因为在Objective-C中没有像多维数组这样的东西.我刚开始使用NSMutableArray,所以我时不时还需要一些帮助.
我知道一旦我找到整个"二维"部分,我将使用NSString将字符串对象添加到数组中.
我生成随机数并将它们存储在一个数组中:
int RandomNumber = arc4random() % 12;
[NSMutablearray *Number addObject:[NSNumber numberWithInt:RandomNumber]];
Run Code Online (Sandbox Code Playgroud)
现在我想确保不会再次随机创建相同的数字.任何人都可以告诉我如何使用示例代码.
码:
[self.menuList addObject:[NSDictionary dictionaryWithObjectsAndKeys:
NSLocalizedString(@"PropertySubtype2fTitle", @""),
kTitleKey,
publishNoOfRoomsViewController,
kViewControllerKey, nil]];
Run Code Online (Sandbox Code Playgroud)
menuList是一个NSMutableArray.
我想稍后在代码中读取PropertySubtype2fTitle本地化字符串,如:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud) 我想用我拥有的typedef结构制作一个数组.
当我使用FIXED数组大小时,它工作正常.但只是为更大的阵列开放我想我必须使用nsmutable数组.但在这里,我不会让它运行
//------------ test STRUCT
typedef struct
{
int id;
NSString* picfile;
NSString* mp3file;
NSString* orgword;
NSString* desword;
NSString* category;
} cstruct;
//------- Test Fixed Array
cstruct myArray[100];
myArray[0].orgword = @"00000"; // write data
myArray[1].orgword = @"11111";
NSLog(@"Wert1: %@",myArray[1].orgword); // read data *works perfect
//------ Test withNSMutable
NSMutableArray *array = [NSMutableArray array];
cstruct data;
int i;
for (i = 1; i <= 5; i++) {
data.orgword = @"hallo";
[array addObject:[NSValue value:&data withObjCType:@encode(struct cstruct)]];
}
data = [array objectAtIndex:2]; // something …Run Code Online (Sandbox Code Playgroud) 我想在NSMutableArray的对象中添加一个预定义的字符串.我以为你会用%@,但显然下面的代码执行得不好.先感谢您
arrayData = [[NSMutableArray alloc]
initWithObjects:@"%@ you look tired." name,
@"Why do you smell so bad?",
@"I have to go potty!",
@"%@ put your pants on!" name,
@"Mommy!",
@"Daddy!",
@"NOOOOOO!",
@"When are we going to get there?",
@"I HATE YOU!",
nil];
Run Code Online (Sandbox Code Playgroud) 我正在为我的比赛做一个记分牌.当我对数据进行NSLog时,它出现如下:
{
name = TTY;
score = "3.366347";
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何删除这个括号,并且只是获取名称(TTY)和得分(3.36没有引号)并将它们放在变量中以供我放入标签.
目前我可以将它们放在标签中,但它们具有挥之不去的花括号"{"和"}".
任何提示都会有所帮助,因为我很乐意进一步搜索,我只是不知道搜索它的词汇.
谢谢
我是一个新的Objective-C程序员,有时与这种语言的所有权概念混淆....目前我正在学习iPhone编程....
以下是那些让我困惑的案例..
我正常使用这些(有时是第一次,有时是其他)
NSMutableArray *array; //Declared in header
Run Code Online (Sandbox Code Playgroud)
情况1
array1= [databaseClass getData];
Run Code Online (Sandbox Code Playgroud)
案例2
array1 = [NSMutableArray arrayWithArray:[databaseClass getData]];
Run Code Online (Sandbox Code Playgroud)
这里[databaseClass getData]返回一个nonAutoreleased对象数组..我只是想要符合其中任何一个是正确的?
如果没有那么请建议正确的....
编辑
我的意思是说[databaseClass getData]已经返回一个已分配的数组(我的意思是一个非自动释放的数组)现在我认为如果我想在我的课程中使用它我不需要分配我的数组(我已经测试了它并且它有效),在这里,我唯一的问题是关于array1初始化....上述声明中的任何人是否有任何意义......如果没有那么我请求请提供一段代码,以便我变得更加清楚...... .. 谢谢
我在一个表视图控制器的dealloc中遇到了EXC_BAD_ACCESS崩溃.释放给定retain属性的NSMutableArray时发生崩溃.我有第二个NSMutableArray也被赋予了一个retain属性,但它的发布不会导致崩溃.请查看以下代码,看看我是否忽略了有关内存管理的内容.谢谢.
在我的头文件中,我有以下内容:
@interface selectSourcesTableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
NSMutableArray *selectedNames;
NSMutableArray *selectedAvailability;
}
@property (retain, nonatomic) NSMutableArray *selectedNames;
@property (retain, nonatomic) NSMutableArray *selectedAvailability;
Run Code Online (Sandbox Code Playgroud)
在我的实现中,我有以下内容:
@implementation selectSourcesTableViewController
@synthesize selectedNames;
@synthesize selectedAvailability;
- (void)viewDidLoad {
NSArray *names = [selectedSourceFileContent objectForKey:@"selectedNames"];
selectedNames = [[NSMutableArray alloc] initWithObjects: nil];
NSArray *availability = [selectedSourceFileContent objectForKey:@"selectedAvailability"];
selectedAvailability = [[NSMutableArray alloc] initWithObjects: nil];
for (int i=0; i < [names count]; i++) {
NSString *aName = [names objectAtIndex:i];
[selectedNames addObject: aName];
NSString *anAvailability = [availability objectAtIndex:i];
[selectedAvailability addObject: …Run Code Online (Sandbox Code Playgroud) 我编辑的问题: - 我复制了数组.但问题是当下面的行执行[mainRestaurantArray removeObjectAtIndex:j]; mainRestaurantArray的索引是reduce.And将不允许删除正确的索引值
因为它显示索引出错的错误.Becoz arrayRestaurantList -31的总索引和mainRestaurantArray-25的总索引(删除重复值后).
if([arrayRestaurantList count]==[mainRestaurantArray count]){
BtnMore.hidden=YES;
TablView.frame=CGRectMake(0,57, 320, 360);
} else{
[mainRestaurantArray removeAllObjects];
mainRestaurantArray=[[NSMutableArray arrayWithArray:arrayRestaurantList] retain];
if ([arrayRestaurantList count]>10) {
for (int i=0;i<[arrayRestaurantList count]-10;i++) {
NSString *Old_data;
Old_data=[[arrayRestaurantList objectAtIndex:i] objectForKey:@"Name"];
NSLog(@"olddata==>%@",Old_data);
for (int j=[arrayRestaurantList count]-10;j<[arrayRestaurantList count];j++) {
NSString *New_data;
New_data=[[arrayRestaurantList objectAtIndex:j] objectForKey:@"Name"];
NSLog(@"olddata==>%@ newdata==>%@",Old_data,New_data);
if ([New_data isEqualToString:Old_data]) {
//BtnMore.hidden=YES;
[mainRestaurantArray removeObjectAtIndex:j];
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个NSMutableArray(mainRestaurantArray)从数据中填充,该数据来自webservice的响应.
数据mainRestaurantArray如下: -
{
Address = "Ellisbridge Opposite Parimal Garden Near Doctor …Run Code Online (Sandbox Code Playgroud) 以下方法:
- (NSMutableArray*) timeSortedBegins {
NSMutableArray* begins = [self.spans valueForKey: @"begin"];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey: @"cycleOffsetObject" ascending: YES];
[begins sortUsingDescriptors: @[sort]];
return begins;
}
Run Code Online (Sandbox Code Playgroud)
抛出此运行时异常:
2014-03-21 14:41:32.482 myValve[1741:60b] -[__NSArrayI sortUsingDescriptors:]: unrecognized selector sent to instance 0x16d7bc20
2014-03-21 14:41:32.484 myValve[1741:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI sortUsingDescriptors:]: unrecognized selector sent to instance 0x16d7bc20'
Run Code Online (Sandbox Code Playgroud)
我已经使用断点来说服自己begins数组确实已经满了(在这种情况下为两个)WEAnchor*对象.该对象实现了以下两种方法:
- (NSTimeInterval) cycleOffset {
return self.offset + (self.datum ? self.datum.cycleOffset : 0.0);
}
- (NSNumber*) cycleOffsetObject {
return [NSNumber …Run Code Online (Sandbox Code Playgroud) nsmutablearray ×10
objective-c ×6
iphone ×5
cocoa ×4
ios ×2
c# ×1
memory-leaks ×1
nsdictionary ×1
nsstring ×1
random ×1
retain ×1
sorting ×1
string ×1
xcode ×1