NSArray 和 NSString

2023-12-24

我目前正在阅读的书让我编写以下代码:

-(IBAction)displaySomeText:(id)sender {
    NSString *cow = @"Milk";
    NSString *chicken = @"Egg";
    NSString *goat = @"Butter";

    NSArray *food = [NSArray arrayWithObjects:cow, chicken, goat, nil];

    NSString *string = @"The shopping list is: ";
    string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];

    [textView insertText:string];

}

我对数组的工作原理有所了解,但我需要帮助理解以下代码

string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];

我从来没有见过这样的例子。

他让我创建一个“字符串”对象,从NSString上课,然后我就这样做

string = [string stringByAppendingString:];

我很困惑。我从未见过创建对象然后对同一对象执行方法并将其存储在完全相同的对象中的示例。

例如,我知道我可以做到这一点

NSSound *chirp;
chirp = [NSSound soundNamed:@"birdChirp.mp3"];

上面的内容是有道理的,因为我使用了创建的对象并对其执行了类方法。

但我总是假设以下代码的等效项是不可能的

chirp = [chirp methodNameEtc..];

我希望我很好地解释了我的问题。如果没有,我总是可以进一步详细说明。


我认为这是你问题的核心“我很困惑。我从未见过创建一个对象,然后对同一对象执行方法并将其存储在完全相同的对象中的示例。”

要回答这个问题,你实际上并不是'将其存储在完全相同的对象中'。你所做的事情令人困惑pointers and objects.

让我们看看这一行:

string = [string stringByAppendingString:@"Hello"];

在这一行中 'string' 是pointer,不是object它指向。这行代码的意思是: ”Object目前引用的pointer'string',返回给我一个新的NSString object谁的文本是您添加此文本的文本。当我得到那个新东西时NSString object我下令做pointer'string' 指向那个object反而。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSArray 和 NSString 的相关文章

  • Objective-C 实现文件中方法名后面的分号

    void designImageViewNow some code here 分号写法正确吗 就在实现文件 Objective C 中方法名称之后 正文括号之前 这行得通吗 当我正在开发 iPhone 应用程序时 我错误地将分号放在了一个自
  • AVPlayerLayer获取图像到UIImageView缓冲区

    我尝试 playerLayer renderInContext UIGraphicsGetCurrentContext 它将显示黑色背景 所以我得到当前播放器项目作为连续的重击图像 它看起来不像视频播放 只是静态图像连续流动 那么还有其他选
  • for 循环内存不足

    嘿 所以我认为如果我制作一个生成随机密码的小应用程序 然后让该应用程序运行所有可能性并尝试查看密码是什么 告诉我它尝试了多少次 那会很酷 有时应用程序可以工作 有时会崩溃 具体取决于密码是什么 我想知道是否可以采取任何措施来防止它因占用大量
  • UITextField 文本更改事件

    如何检测文本字段中的任何文本更改 委托方法shouldChangeCharactersInRange适用于某些东西 但它并不能完全满足我的需求 因为在它返回 YES 之前 textField 文本不可用于其他观察者方法 例如在我的代码中ca
  • 如何在iPhone应用程序中的类结构中实现主键和外键表数据[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何连接sqlite数据库中的两个表数据 if sqlite3 open dbPath UTF8String database SQL
  • 管道中缺少 ResourceT 实例

    我在尝试使用时遇到奇怪的错误ResourceT http hackage haskell org package conduit 1 0 9 1 docs Data Conduit html t 3aResourceT来自管道 1 0 9
  • 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

    当您想要回复消息时 我想创建一个类似于邮件应用程序中的弹出菜单 我在多个应用程序中看到过这一点 所以我不确定框架中是否内置了某些内容或一些示例代码 在 Swift 中创建操作表 代码已使用 Swift 5 进行测试 从 iOS 8 开始 U
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • 最近打开的应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有什么方法可以获取最近打开的应用程序 例如 4 个 的列表吗 如果是这样 怎么办 可可麦克 看看LaunchServices LSSh
  • 您是否标记 UIView 或将它们保留为属性?

    这主要是一个风格问题 但自从我开始为 iPhone 编程以来 我一直很好奇其他人的想法是什么 当您的 iPhone 应用程序中有一个 UIView 并且需要在应用程序的其他位置访问它时 通常在视图控制器中的另一个函数中 您是否喜欢用整数标记
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • 如何判断 NSObject 是否具有某个属性?

    假设在 Apple API 1 0 版中 有一个 NSFoo 类 其属性为 color API 1 1 添加了属性 size 我想知道是否可以使用 getter myFoo size myFoo respondsToSelector sel
  • ABAddressBookCopyArrayOfAllPeople 中缺少联系人

    我试图从我的应用程序中的地址簿中查找电话号码 但很惊讶没有找到它 问题是 我已经在我的应用程序访问的控制台中打印了地址簿的所有号码 奇怪的是 有些联系人丢失了 我正在将输出与我的地址簿进行比较 虽然数量很少 但仍然如此 这就是我访问地址簿的
  • 如何按字母顺序对 UITableView 分区进行排序?

    我有一个包含 3 个类别的分段 UITableView 我正在使用这段代码 NSArray arrayOne NSArray arrayWithObjects one two three four nil NSDictionary dict
  • iOS7 由 Interface Builder 生成的 NSIBPrototypingLayoutConstraint 自动布局约束问题

    以前在 iOS6 中 我的聊天消息视图控制器使用 IB 中精心构建的自动布局约束正确显示和动画 下面是 Xcode 5 中删除了约束的当前视图层次结构 升级到 XCode 5 和 iOS7 后 我发现我需要清除所有旧的约束才能解决默认的半透
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void
  • 使用强光混合模式时突出显示伪影

    我正在 iPhone 应用程序中使用顶部图像的 HardLight 混合模式混合两个图像 它看起来像这样 UIGraphicsBeginImageContext size sourceImage drawInRect rectangle b
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 使用 Knockout.js 选择()输入字段

    我是 Knockout js 的新手 是什么best way to select an
  • Kotlin 删除所有非字母数字字符

    我正在尝试从字符串中删除所有非字母数字字符 我尝试使用replace 正则表达式如下 var answer answerEditText text toString Log d debug answer answer answer repl
  • C# 开关/中断

    看来我需要使用 C 在 switch 语句中的每个 case 块中使用中断 我可以在其他语言中看到这样做的原因 您可以在其中转到下一个案例陈述 案例块是否有可能落入其他案例块 非常感谢 非常感谢 是的 您可以通过两种方式进入下一个案例块 您
  • 如何将两个表合并为拥有相同的列?

    我有两个表A和B A有两列 id amount B也有两列 id amount 我希望将A和B结合起来创建一个新表C 具有相同的两列 id amount 我怎样才能使用 SQL 来做到这一点 例如 A A1 1 A2 5 A3 2 A4 5
  • 从github安装curl'ed脚本:

    我在 Github 上托管了以下脚本 https rawgit com oresoftware quicklock master install sh https rawgit com oresoftware quicklock maste
  • 确定函数在闭包 javascript 中是如何被调用的

    最近我在 hackerrank 中遇到一个问题 必须计算乘法运算并返回答案 例如 function multiply a b return a b 现在的问题是该函数可能以不同的方式调用 例如 multiply 4 5 multiply 4
  • Spring Boot - 计算字段

    所以 我有一个实体 它有字段 start date java util Date 是类型 我想要另一个字段 它会自动填充与开始日期对应的星期几 数字 1 表示星期日 2 表示星期一等 的整数 这是我的实体的片段 Id GeneratedVa
  • 读/写锁定asp.net中的静态变量

    我的 C ASP NET 项目中有一个静态变量 抽象数据类型 而不是基元 它将被许多线程同时且频繁地读取 我很少需要写入它 与读取次数相比 确保线程安全的最佳方法是什么 以便在我写入时其他线程不会读取部分写入的数据 我只用过lock 但我知
  • 如何使用 Idealista API 获取房地产数据?

    我一直在尝试使用网站 Idealista 的 API https www idealista com https www idealista com 检索房地产数据信息 由于我不熟悉 OAuth2 到目前为止我还无法获取令牌 我刚刚获得了
  • 如何获取 symfony/symfony 3 中的捆绑包列表?

    我刚刚开始使用 symfony 我想从特定供应商获取捆绑包列表 迭代它们并在每个默认控制器上调用 bundle gt renderSomething 函数 首先 我需要获取要迭代的包列表 或迭代每个对象 关于最好的方法有什么想法吗 在控制台
  • Meteor 会自动更新 mongodb 版本吗?

    我安装了 Meteor 1 2 2 根据 MeteorBlog 它应该安装 Mongodb v3 0 或更高版本 但是 如果使用 Mongo shell meteor mongo 并执行以下操作 db version 我得到 2 6 7 不
  • 如何在 React JS 中检查损坏的图像

    我正在编写一个模块 它从 json 获取文章数据并在文章文本上显示一个大图像 正如他们所说的英雄模块 我已经获得数据并进行了设置 因此如果有图像 它将显示该图像 如果数据中没有图像 它将显示默认图像 问题是此方法不会替换损坏的链接以显示默认
  • 在 LINQ select(x => new 中声明变量

    我正在将 POCO 映射到模型中 代码如下所示 NOT NEEDED var noneRequiredUserDocuments new List
  • 使用 SDK 8 中的 Android MediaPlayer 进行流式传输

    SDK 级别 8 Froyo 引入了 MediaPlayer 连接到流媒体源 如 Shoutcast 的本机功能 以前的 SDK 版本能够采取解决方法 例如在设备上运行本地代理 请参阅NPR http code google com p n
  • 防止 XslCompiledTransform 使用自关闭标签

    我在用XslCompiledTransform将 XML 文件转换为 HTML 有没有办法阻止它使用自关闭标签 e g span span span span
  • 从编辑重定向到父资源不会(重新)渲染模板

    我的用户界面的布局是一个列表 出口 子导航 详细信息 出口 出口 如中所述我之前的问题之一 https stackoverflow com questions 16342616 ember js how to refresh parent
  • python请求post数据为字符串类型时默认编码是什么?

    用下面的代码 payload 工作报告 总体情况 良好 r requests post http httpbin org post data payload Requests post数据为string类型时默认编码是什么 UTF8 还是
  • 从静态站点中托管的 javascript 运行 git Push

    想象一下用 jekyll 编译并托管在 github 页面上的静态网站 是否可以在这个页面上有一些 javascript 要求用户输入一些内容 然后将这个输入 git Push 到某个 github 存储库中 换句话说 如何用 javasc
  • Silverlight 4 - 将文本发送到记事本

    我尝试这个教程 http elegantcode com 2010 02 20 silverlight 4 com interop and the cool stuff you can do with it http elegantcode
  • NSArray 和 NSString

    我目前正在阅读的书让我编写以下代码 IBAction displaySomeText id sender NSString cow Milk NSString chicken Egg NSString goat Butter NSArray