Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios xCode赢得';不允许添加对象_Ios_Objective C_Cocoa Touch - Fatal编程技术网

Ios xCode赢得';不允许添加对象

Ios xCode赢得';不允许添加对象,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,这里绝对是初学者。我正在尝试使用几种不同的资源自学Xcode。我当前的课程,我只是想把字符串中的每个单词大写。出于某种原因,我没有选择使用addObject,即使我已经求助于逐行复制书中的内容!这是我正在使用的代码,我只是把它输入ViewController.m。我还没有触及头文件 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDi

这里绝对是初学者。我正在尝试使用几种不同的资源自学Xcode。我当前的课程,我只是想把字符串中的每个单词大写。出于某种原因,我没有选择使用addObject,即使我已经求助于逐行复制书中的内容!这是我正在使用的代码,我只是把它输入ViewController.m。我还没有触及头文件

#import "ViewController.h"
@interface ViewController ()

@end
@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.


    NSString *myString = @"How much wood could a woodchuck chuck";

    NSArray *wordsInSentence = [myString componentsSeparatedByString:@" "];
    NSLog(@"%@", wordsInSentence);

    NSMutableArray *capitalizedWords = [[NSMutableArray alloc] init];

    for (int word =0; word < [wordsInSentence count]; word++)
    {

        NSString *uncapitalizedWords = [wordsInSentence objectAtIndex:word];
        NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
        [capitalizedWords addObject:capitalizedWords];
    }
    NSLog(@"%@", capitalizedWords);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
#导入“ViewController.h”
@界面视图控制器()
@结束
@实现视图控制器
-(无效)viewDidLoad{
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
NSString*myString=@“一只土拨鼠能扔多少木头”;
NSArray*wordsInSession=[myString组件由字符串分隔:@”“];
NSLog(@“%@”,单词和句子);
NSMUTABLEARRY*大写DWORDS=[[NSMUTABLEARRY alloc]init];
for(int word=0;word<[words句子计数];word++)
{
NSString*uncapitalizedWords=[words语句对象索引:word];
NSString*capitalizedWords=[uncapitalizedWords capitalizedString];
[大写单词添加对象:大写单词];
}
NSLog(@“%@”,大写DWORDS);
}
-(无效)未收到记忆警告{
[超级记忆警告];
//处置所有可以重新创建的资源。
}
@结束
我的问题出在 [大写单词添加对象:大写单词]; 当我开始输入时,它甚至没有在下拉框中显示addObject作为选项,我唯一的选项是addObserver


非常感谢您提供的任何帮助

问题是您有两个同名的变量,
大写DWORDS
。一个是可变数组,另一个是字符串。因此,当您在
for
循环中使用
大写DWORDS
时,它使用的是字符串格式副本。我建议重命名字符串变量,例如替换:

NSString *uncapitalizedWords = [wordsInSentence objectAtIndex:word];
NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];


问题是您有两个同名的变量,
capitalizedWords
。一个是可变数组,另一个是字符串。因此,当您在
for
循环中使用
大写DWORDS
时,它使用的是字符串格式副本。我建议重命名字符串变量,例如替换:

NSString *uncapitalizedWords = [wordsInSentence objectAtIndex:word];
NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];


问题是您有两个同名的变量,
capitalizedWords
。一个是可变数组,另一个是字符串。因此,当您在
for
循环中使用
大写DWORDS
时,它使用的是字符串格式副本。我建议重命名字符串变量,例如替换:

NSString *uncapitalizedWords = [wordsInSentence objectAtIndex:word];
NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];


问题是您有两个同名的变量,
capitalizedWords
。一个是可变数组,另一个是字符串。因此,当您在
for
循环中使用
大写DWORDS
时,它使用的是字符串格式副本。我建议重命名字符串变量,例如替换:

NSString *uncapitalizedWords = [wordsInSentence objectAtIndex:word];
NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];


问题是您将字符串命名为与数组相同的名称。 试着改变

NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];
致:


当您使用与数组相同的名称声明字符串时,您将隐藏数组,Xcode将看到
大写DWORDS
作为字符串,而不是数组。这就是为什么它没有向您提供
addObject
方法。

问题在于您将字符串命名为与数组相同的名称。 试着改变

NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];
致:


当您使用与数组相同的名称声明字符串时,您将隐藏数组,Xcode将看到
大写DWORDS
作为字符串,而不是数组。这就是为什么它没有向您提供
addObject
方法。

问题在于您将字符串命名为与数组相同的名称。 试着改变

NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];
致:


当您使用与数组相同的名称声明字符串时,您将隐藏数组,Xcode将看到
大写DWORDS
作为字符串,而不是数组。这就是为什么它没有向您提供
addObject
方法。

问题在于您将字符串命名为与数组相同的名称。 试着改变

NSString *capitalizedWords = [uncapitalizedWords capitalizedString];
[capitalizedWords addObject:capitalizedWords];
致:

当您使用与数组相同的名称声明字符串时,您将隐藏数组,Xcode将看到
大写DWORDS
作为字符串,而不是数组。这就是为什么它没有为您提供
addObject
方法的原因