问题标签 [nsmutablestring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - NSStrings 的 NSMutableArray 包含实际数据或只是指向数据的指针
我对 Objective C 比较陌生,虽然我一直在努力编写 iPhone 应用程序,但我想我需要一些帮助来理解一些东西。
我将字符串的动态列表存储在 NSMutableArray 中,这是我的主类的属性。在我的初始化中,我分配和初始化来存储 100 个项目:
在获取字符串时(从传入数据),我将它们作为对象添加到数组中:
所以要了解这里真正发生了什么。如果我已经添加了 5 次,那么我在 NSMutableArray 中到底有什么?只是指向 5 个字符串或实际字符串的指针?我曾假设 addObject 实际上复制了数据。如果我的 stringMaker 类要开始正确释放东西,我最终会得到指向任何东西的指针吗?有没有更好的方法来确保我列表中的字符串不会被释放或重新指向其他内容?还是我误解了这是如何工作的?
到目前为止,我目前对这部分没有任何问题。但我对泄漏和释放东西有点动摇。
导致我这样做的原因是,当我通过以下方式修改其中一个字符串时,我确实遇到了问题:
一段时间后,当我回来访问该索引处的对象时,它是 lastStringUsed 的最后一个,而不是我替换它时的那个。这向我表明,我所做的只是设置了一个指针,并没有在该指针处保存数据。请注意,lastStringUsed 是 stringMaker 类的属性,并且是 NSMutableString。
所以要清楚..在stringMaker中的不同点我正在做一个:
(顺便说一句,那实际上是在移动数据吗?)
然后回到我的主类中,我正在执行上面显示的 replaceObjectAtIndex。然后其他一些 stringMaker 方法正在重置 lastStringUsed。然后稍后当我在该索引处访问我的 stringList 时,它是新的 lastStringUsed 值,而不是我执行 replaceObjectAtIndex 时的任何值。
编辑 - 现已解决 - 仍然需要对 NSARRAYS 和琴弦进行夜间课程并正确保留和释放
我现在所做的修复它只是分配一个新字符串......
现在,下次我更改 lastStringUsed 时,它也不会更改 stringList 中的那个。
iphone - 清除而不是释放 NSMutableString
我有一个相当大的循环,它获取一个字符串,对其进行处理,然后进入下一个。我最初是发布它然后重新分配它,但认为这有点浪费资源,但不知道如何清除它以重用它。
iphone - NSMutableString appendString 生成一个 SIGABRT
这对我来说毫无意义。也许这里有人可以解释为什么会发生这种情况。
我有一个 NSMutableString,我在 iPhone 应用程序的顶部分配了它,然后在该过程的后面附加。它会导致一个 SIGABRT,这对我来说并不重要。这是代码:
头文件(简化):
以及Main的相关部分:
这一切似乎都很简单。我错过了什么?
objective-c - 如何从另一个字符串替换 NSMutableString 中出现的字符串
我有一个包含两次单词的 NSMutableString。(例如 /abc ...................... /abc)。
现在我想用/xyz 替换这两个/abc。我只想替换第一次和最后一次出现,而不是其他出现。
我找到了 NSMutableString 的这个实例方法,但在我的情况下我无法使用它。有人有什么解决办法吗??
objective-c - 如何使 NSMutableString 为空白
如果我有一个包含随机字符串的 NSMutableString,那么如何从中删除所有字符以使其变为空字符串?
iphone - deleteCharactersInRange 工作出错
大家好!我正在使用来自 NSMutableString 的消息 deleteCharactersInRange。并且存在这个函数以错误的方式删除范围的问题。这是一个错误的代码示例:
-(void) btnClick { NSRange deleteRange = NSMakeRange(0, 1); [valueStr deleteCharactersInRange:deleteRange]; [自己的节目编号]; }
我有一个可变字符串:“-21.256”,当我按下按钮 btnClick 时,它必须从一开始就删除“-”,但它只有在第 5 次按下后才会这样做。之前它工作得很好,但现在不行。请帮忙,或者我可以用什么来代替这个功能?谢谢!
iphone - NSMutableString 总是“超出范围”?
在我的 .h 文件中,我有:
在我的 .mi 中有:
每当我检查 sResults 时,它都会显示“超出范围”.. 我做错了什么?
iphone - IPhone 上的 NSXMLParser 内存泄漏
下面是我的代码,Leaks 说我在 NSMutableString alloc 方法周围出现内存泄漏。我确定这是我忽略的事情,如果有人有任何想法,请告诉我。谢谢!
-Agent 是在类初始化时创建的自定义对象。XML 有效并且具有所有适当的开始/结束标记。
objective-c - Objective-C:NSMutableString 错误
我不断收到此代码错误,应用程序告诉我我正在尝试改变一个不可变的对象。有人可以看看并解释我做错了什么吗?谢谢。
cocoa - NSMutableString stringWithFormat
我有为 MD5 munge 准备消息的 java 代码
'C'、'o'、'p'、'y'、'r'、'i'、'g'、'h'、't'、':'、''、0xa9、''};
用于
message.append(name.toLowerCase()); message.append(新字符串(jimsCopyRight));
当我使用打印出消息时
System.out.println(" i = " + i + " char " + message.substring(i, i + 1) + " charAT " + message.charAt(i)); }
我得到 i = 14 char \251 charAT \251 并且 message.toString 是 jimCopyright: \251
我需要构造一个具有相同字符的 NSMutableString。
在我尝试过的事情中
这给了我 i = 14 char © 169
任何使 NSMutableString 与 StringBuffer 相同的帮助将不胜感激。
问题是当我在 MD5 中混合两个字符串时,当我添加 0xa9 时会得到不同的结果。打印只是为了查看字符串。
我认为它与 Java 中的 char[] 和 NSMutableString 的构造有关。我不相信它们是相同的价值观。
我有一些 C 代码,它声明版权为
版权的Java MD5和C MD5是一样的。