标签: nsarray

Cocoa:按字符长度解析NSString

我有一个NSString我正在使用,但我想按字符长度解析它.因此将它分解为NSArray,并使数组中的每个对象都是该字符串中的x个字符.所以基本上,将字符串分解为一定长度的子字符串

那么,我该怎么做?

例:

NSString*string = @"这是我的字符串"

NSArray对象:

"她"

"我"

"s m"

"是的"

"三"

"NG"

cocoa parsing nsstring nsarray

1
推荐指数
1
解决办法
1280
查看次数

Cocoa数组被截断的字符串

我正在尝试将一个对象数组连接到一个字符串中,该字符串最终将用于填充表格单元格的详细信息标签.如果文本太长,它将自动截断并在末尾添加一个elipse.

我想通过检查字符串是否小于40个字符并在中间添加一个elipse来避免这种情况.

所以如果我的数组是"一个","两个","三个","四个"和"五个",假设它们加起来超过40个字符,而我的分隔符是">",它可能看起来像"一个>两个>三个>四个......"如果它被自动截断.

相反,我希望它看起来像"一个>两个> ...>五"所以我总是至少是数组中的第一个和最后一个项目.

有任何想法吗?

iphone cocoa truncate nsstring nsarray

1
推荐指数
1
解决办法
551
查看次数

当保留NSArray的子​​节点并且阵列被释放时会发生什么?

假设我从NSArray读取一个对象并保留该对象.然后我完成NSArray并释放它.NSArray现在的保留计数为零.它是否已被解除分配或者是否会被强制保留,直到子对象被解除分配为止?

基本上我要问的是,如果我需要复制孩子而不是保留它,当孩子将被保留一段时间但不需要阵列?

我认为保留是好的,NSArray将被解除分配,但我想确定.

objective-c nsarray

1
推荐指数
1
解决办法
175
查看次数

如何按数组计数对NSArray的嵌套NSArray进行排序?

我有一个包含嵌套NSArrays的NSArray.我正在寻找一种方法来根据嵌套数组的对象数按升序对父数组进行排序.所以如果[array1 count]是4,[array2 count]是2并且[array3 count]是9,我会得到:array2,array1,array3 ......

iphone objective-c nsmutablearray nsarray ios

1
推荐指数
1
解决办法
1623
查看次数

Objective-C:有时缺少NSArray的第一项

我有和NSArray有5个字符串元素,填充我的iPhone应用程序的UITableView.

一切正常,但有时我的数组的第一个字符串丢失,我无法弄清楚为什么.

这是我的代码:

arrayList = [[NSArray alloc] initWithObjects: @"My First String", 
                                              @"My Second String",
                                              @"My Third String",
                                              @"My Forth String",
                                              @"My Fifth Sring",
                                              nil];
Run Code Online (Sandbox Code Playgroud)

有时只是没有显示的元素是My First String

其实我正在使用Cocoa With Love的示例代码.谢谢大家帮助我!

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

#if USE_CUSTOM_DRAWING
    const NSInteger TOP_LABEL_TAG = 1001;
//  const NSInteger BOTTOM_LABEL_TAG = 1002;
    UILabel *topLabel;
//  UILabel *bottomLabel;
#endif

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    //
    // Create the cell.
    //
    cell = …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c nsstring nsarray

1
推荐指数
1
解决办法
6892
查看次数

无法在NSArray中删除NSStrings

在NSArray中,我有10个值.值看起来像这样:

Hello
Hello2
My
My2
Name
Name2
Is
Is2
XcodeDev
XcodeDev2
Run Code Online (Sandbox Code Playgroud)

我想从NSArray中删除每一个NSString,所以我留下了如下所示的数组.这些值是随机的,并且每秒都没有附加2!我怎样才能做到这一点?

Hello
My
Name
Is
XcodeDev
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring nsarray

1
推荐指数
1
解决办法
451
查看次数

使用for循环从NSArray获取值

我已经创建了一个NSStrings数组,它结合了我从另一个原始NSArray中获得的NSDictionary的两个元素,我已经在UITableView中进行了显示/排序.

然后使用原始的NSArray,当用户触摸一个单元并启动didSelectCellAtIndexPath函数时,我想将cell.textLabel.text与修改后的NSArray中的NSString进行比较,然后使用数组计数器我想分配原始的NSDictionary数组到singleEntryArray.

我已经尝试了自己,但我一直将null返回到NSDictionary,但我不确定为什么.

for (int i=0; [[modifiedArray objectAtIndex:i] isEqualToString:cell.textLabel.text]; i++) {
                singleEntryArray = [originalArray objectAtIndex:i];
            }
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

for-loop objective-c nsdictionary nsarray ios

1
推荐指数
1
解决办法
7190
查看次数

index使用objectsAtIndexes设置超出边界

我不明白发生了什么.如你所见,我有一个包含107个对象的数组.当我尝试将10个对象从它复制到另一个数组时,我得到了这个错误.(如果我输入像3,8这样的数字它会正常工作)

    int count = [myJson count];
    NSLog(@"count: %d",count);
    resultsArray = [myJson objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(60, 70)]];
Run Code Online (Sandbox Code Playgroud)

...

[53269:11303] count: 107
[53269:11303] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSArray objectsAtIndexes:]: index 129 in index set beyond bounds [0 .. 106]'
Run Code Online (Sandbox Code Playgroud)

objective-c nsarray ios

1
推荐指数
1
解决办法
2290
查看次数

使用自定义比较器对字符串的NSArray进行排序

我在字符串中有以下数字数组.

    08,
    03,
    11,
    06,
    01,
    09,
    12,
    07,
    02,
    10
Run Code Online (Sandbox Code Playgroud)

我希望它是:

    06,
    07,
    08,
    09,
    10,
    11,
    12,
    01,
    02,
    03
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我在考虑使用这样的自定义比较器:

NSComparisonResult compare(NSString *numberOne, NSString *numberTwo, void *context) 
Run Code Online (Sandbox Code Playgroud)

但以前从未使用它.

任何帮助?

亲切的问候

编辑

好的,所以此刻我做到了这一点.

   NSArray *unsortedKeys = [self.sectionedKalender allKeys];

    NSMutableArray *sortedKeys = [[NSMutableArray alloc]initWithArray:[unsortedKeys sortedArrayUsingSelector:@selector(localizedCompare:)]];
Run Code Online (Sandbox Code Playgroud)

这将从01 - > 12对数组进行排序.这些数字代表我在tableview中的月份.目前在Januari开始,12月停止.我现在想要的是从六月开始到三月结束.

希望这可以解决一些问题.

objective-c nsstring nsarray ios

1
推荐指数
1
解决办法
1170
查看次数

将数组与目标C中的计数合并

我有这样的数组

A = [@"aa",@"cc",@"bb",@"bb",@"cc",@"aa",@"cc"]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为

A = [@"x2 aa",@"x2 bb",@"x3 cc"]
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c nsmutablearray nsarray ios

1
推荐指数
1
解决办法
82
查看次数