问题标签 [nsstring]

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.

0 投票
1 回答
27089 浏览

objective-c - 从 NSString 存储和检索 unsigned long long 值

我有一个 unsigned long long 值,我想将其存储到 NSString 中并从字符串中检索。

最初我在 NSNumber 中有值,我正在使用它来获取字符串

其中 myNum 是一个 NSNumber。

要从 NSString 取回 NSNumber,我必须首先获取 unsigned long long 值。但是 NSString 类中没有方法可以做到这一点(我们只有一个用于获取 long long 值,而不是 unsigned long long 值)。

有人可以告诉我如何将值取回 NSNumber 变量。

谢谢。

0 投票
2 回答
1563 浏览

cocoa - Cocoa:绑定到存储在应用程序首选项中的 NSStrings 数组

好吧,我真的觉得问这个问题真的很愚蠢,但我已经设法把自己难住了,以至于我怀疑我是否有适当的超然能力来为自己找出答案。我提前道歉...

我玩绑定已经有一段时间了,我很喜欢它们。这和 Objective-C 2.0 中内置的 KVO/KVC 约定使我能够显着精简我的应用程序,同时提高它们的可靠性、灵活性等。我这样说只是为了说明我至少对绑定有一定程度的适应一般来说。话虽如此,我的问题是:

我有一个应用程序,我想通过首选项控制器存储一组可编辑的关键字。容易,对吧?不幸的是,对于我的生活,我无法弄清楚如何去做。我设置了一个数组控制器并将其指向共享首选项对象,并为它提供了数组的键路径。问题是存储在数组中的对象是 NSStrings,由于缺少任何“stringValue/setStringValue”方法,我看不出 NSStrings 如何兼容 KVC 进行这种操作。没有这些,我在设置的 NSTableView 中使用什么键路径来促进对该列表的操作?

此外,由于共享首选项对象不是我拥有的,我不确定如何设置一个新数组来表示未编辑/新安装的状态。(将它们注册为默认值似乎对我不起作用。)

因此,更简洁地重申我的问题:如何将表视图绑定到 NSStrings 数组以及如何将所述数组存储在应用程序的首选项中?

您可以提供的任何指示或建议将不胜感激。我从中得到的头痛开始变得更好。:)

0 投票
2 回答
7151 浏览

objective-c - 包装 [NSString stringWithFormat:] 的正确方法是什么?

假设我有一个带有签名的方法:

我希望它在我选择的字符串前面添加(例如@“Foo:”)。我想最好的方法是使用 [myString initWithFormat:arguments:],但是你将如何实现这个方法呢?


我尝试执行以下操作,但收到评论中指定的警告:

我假设 va_start() 可以接受 (char *) 的原因是因为我在STDARG(3) 的手册页上看到的示例。如果我做错了,请随意完全重写该方法。

0 投票
2 回答
1879 浏览

iphone - iPhone 开发 - NSString 创建

我真的对 NSStrings 感到困惑。比如我应该什么时候做

应该是:

但是,当您为 NSString 属性分配值时,它会有所不同,不是吗?有人可以帮我解决这个问题吗?

谢谢!!

0 投票
5 回答
23659 浏览

objective-c - Objective-c“发送到不可变对象的变异方法”错误

我对objective-c 很陌生,并尝试为iphone 创建一个小应用程序。
除了这个小错误,我几乎完成了。实际上,我已经用谷歌搜索了几个小时以找到合适的解决方案,但不幸的是我无法找到有效的解决方案。
我在这里使用本教程来构建 UITableView:UITableView 教程 完整的错误消息如下所示:

* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“* -[NSCFArray insertObject:atIndex:]: mutating method sent to immutable object”

这是数据控制器头文件:MyLinksDataController.h

和数据控制器方法:MyLinksDataController.m

-------------------------------稍后在源代码中-------------- --------------------

我非常感谢任何帮助。

提前感谢您的支持。

丹尼尔

0 投票
1 回答
5418 浏览

iphone - Objective-C NSString:记录时出现奇怪的字符

大家好,在 Objective-C / iPhone 开发方面,我完全是个菜鸟。

我正在尝试从 SQLite DB 中提取文本。我有一个看起来像这样的while循环:

在该循环中,这会很好地打印到日志中:

这不起作用:

当我运行上面并查看日志时,我看到:

我试图将该字段写到标签上,认为它可能是 NSLog 特有的,但那里什么也没有。显然我错过了一些基本的东西,但我不知道它是什么。

0 投票
13 回答
26964 浏览

objective-c - NSString - 仅转换为纯字母(即删除重音符号+标点符号)

我正在尝试比较没有任何标点符号、空格、重音符号等的名称。目前我正在执行以下操作:

但是,我需要为数百个字符串执行此操作,并且需要提高效率。有任何想法吗?

0 投票
2 回答
1483 浏览

iphone - 在 NSString 中保留``?

我想保留 iPhone 应用程序文本字段中的条目。然而,记录和随后查看 UItextField 表明这个字符串正在变成一个普通的旧空间......

当我添加&nbsp到文本字段时,它作为单个字符直到最后一个分号,此时它从日志消息中消失并被视为一个简单的空格,因此......

MyApp[17425:20b] 记录字符串  1234

//我在这里添加分号...

MyApp[17425:20b] 记录字符串 1234

我想要做的是防止&nbsp自动转换 - 以便以后可以将其发送到网站并视为 HTML。我什至可以用 NSString 做到这一点,还是需要别的东西?

编辑:我还应该说,在我将数据保存到数组并从数组中重新填充 UITextField 之后,我更希望 UITextField 也显示这个......我想这一切都归结为 NSString 是否真的转换这个或者如果它只是隐藏它......我猜我不清楚&nbsp用NSString自动神奇地变成一个空间(至少用于显示)......

编辑 2:2009 年 8 月 10 日抱歉,如果这是不正确的用法,我无法获得允许我发布“答案”的界面,也无法添加评论...

为了回答马特的问题,我将在另一个编辑中发布一些代码......另外有趣的是在字符串包含   和它包含之间的字符串“计数”的日志记录 ......我发现有趣的是当我 通过输入分号“完成”时,计数似乎减少了......最初这导致了以下错误,因为(我认为)字符串的计数和范围的计数在 完成后立即不同(我会稍后发布代码)... -[NSCFString substringWithRange:]: Range or index out of bounds'

我通过在代码中使用字符串计数而不是范围计数来修复崩溃错误,但它仍然很有趣,并且“文字” 不再显示在文本字段中......

2009-08-08 14:58:26.319 [17897:20b] 这是 str::--> <p class="blankline"> 

2009-08-08 14:58:26.320 [17897:20b] 这是 str 的计数 27

//此时我输入分号,字符串计数回落...

2009-08-08 14:58:28.095 [17897:20b] 这是 str::--> <p class="blankline">

2009-08-08 14:58:28.096 [17897:20b] 这是 str 的计数 23

2009-08-08 14:58:31.223 [17897:20b] 这是 str::--> <p class="blankline"> a

2009-08-08 14:58:31.223 [17897:20b] 这是 str 的计数 24

2009-08-08 14:58:31.319 [17897:20b] 这是 str::--> <p class="blankline"> as

2009-08-08 14:58:31.320 [17897:20b] 这是 str 的计数 25

2009-08-08 14:58:31.423 [17897:20b] 这是 str::--> <p class="blankline"> asd

2009-08-08 14:58:31.423 [17897:20b] 这是 str 的计数 26

2009-08-08 14:58:31.527 [17897:20b] 这是 str::--> <p class="blankline"> asdf

2009-08-08 14:58:31.527 [17897:20b] 这是 str 的计数 27

编辑 4 8/10/09:发布上面的代码,因为否则它不会显示...

谢谢马特,确实很有趣......当我发布我的评论时,我突然想到这可能是 TextView 的问题——我尝试在 IB 中更改几个设置,但在“消失”方面没有任何改变&nbsp; 我的感谢你的时间!

编辑 3:2009 年 8 月 10 日

0 投票
2 回答
3746 浏览

character-encoding - NSString 到 cString UTF-8 转换问题

我在将 NSString 转换为 UTF8 cString 时遇到奇怪的编码问题。我正在从网络服务器获取 XML 数据。XML 使用 UTF-8 编码正确编码。获取数据后,我将其转换为 NSString,如下所示:

当我使用 NSLog 将结果写入标准输出时,输出似乎没问题(所有字符都是可读的)。

但是,当我尝试使用 [XMLData UTF8String] 或 [XMLDdata cStringWithEncoding: NSUTF8StringEncoding] 获取 cString 时,非 ascii 字符(在这种情况下为德语)被搞砸了(例如“N√ºrnberg”而不是“Nürnberg”)。

我不知道这有什么问题。我错过了什么还是那个错误?

任何帮助表示赞赏,谢谢!马蒂斯

0 投票
1 回答
1355 浏览

objective-c - NSString 到 FSRef 的转换不起作用

对于我的应用程序,我需要使用 Carbon 文件管理器 API 来获取文件夹的大小(NSEnumerator 很慢,并且使用带有 shell 命令的 NSTask 更糟糕)。我已经导入了 Carbon 框架,我正在使用这种方法来获取文件夹的大小:

http://www.cocoabuilder.com/archive/message/cocoa/2005/5/20/136503

它使用 FSRef 作为参数,而我的路径字符串当前是 NSString。我尝试使用它来将 NSString 转换为 FSRef:

然后我调用了文件夹大小方法:

但是,当我尝试构建时,我收到有关上述行的此错误:

错误:“fastFolderSizeAtFSRef:”的参数之一的类型不兼容

任何帮助,将不胜感激。谢谢