我有一个名为myString.i的NSString对象需要在我的字符串的每一侧附加一个空格.任何人都可以告诉我这样做的好方法吗?
我有一个我保留的NSString,我释放它的唯一地方是dealloc方法.但是,出于某种原因,稍后在程序中我尝试引用它(具体来说是它的长度)时,我得到一个崩溃,说[CFString length]:消息发送到解除分配的实例0xff32c50.
我在程序的早期明确地保留了字符串.有什么理由会发生这种情况吗?任何帮助表示赞赏.
字符串entityParameter在标头中声明,稍后定义.以下是一些代码:
entityParameter = [[EntitySearchWindow stringByEvaluatingJavaScriptFromString:@"f();"] retain];
我遇到崩溃的地方看起来像这样:
if([entityParameter length] != 0 && entityParameter != nil)
{
return;
}
NSString *str = [[NSString alloc]init];
str = [str initWithString:@""];
Run Code Online (Sandbox Code Playgroud)
这段代码崩溃了.如果我使用如下,那就没关系.
NSString *str = [[NSString alloc]initWithString:@""];
Run Code Online (Sandbox Code Playgroud)
initWithString分配后我不能用吗?
-(void)myFunction {
unichar myBuffer[5];
NSRange range = {0, 3};
NSString *string = [NSString alloc];
string = @"123";
[string getCharacters:myBuffer :range];
}
Run Code Online (Sandbox Code Playgroud)
得到警告
!NSString可能无法响应'-getCharacters ::'
然后在运行时执行SIGABRT.为什么?????或者更好,我怎样才能让它发挥作用?
我正从plist中提取一些字符串数据:
<dict>
<key>Feb 7, 2000</key>
<array>
<string>7</string>
<string>8</string>
</array>
<key>Jan 27, 2001</key>
<array>
<string>8</string>
<string>7</string>
</array>
Run Code Online (Sandbox Code Playgroud)
并使用以下代码输出UILabel中的数据:
NSString * myString = [NSString stringWithFormat:@"%@",self.data];
myLabel.text = myString;
Run Code Online (Sandbox Code Playgroud)
输出显示为 ( 7, 8)
有没有人知道如何删除括号和逗号.并分离值,以便我可以显示类似的东西first: 7 second: 8
我创建了一个Constants.h文件,其中包含以下列表:
#define kw00 @"foo"
#define kw01 @"bar"
...
Run Code Online (Sandbox Code Playgroud)
我也在Constants.h.h中使用#import .使用newQuote方法,我想随机选择的一个kw strings,但我有困难,探索如何call a reference以一个constant是字符串中定义kwString.
-(IBAction)newQuote
{
int rNumber = arc4random() % kwTotal;
(rNumber <9)
{
NSString *kwString = [@"kw0" stringByAppendingString:[NSString stringWithFormat:@"%d", rNumber]];
}
}
Run Code Online (Sandbox Code Playgroud)
我们非常感谢您的想法和建议.
运行我的代码时出错.罪魁祸首是我从下面的plist访问一个字符串:
NSString *sImageFile = [dictionary objectForKey:@"answerCorrect"];
NSLog(@"%@",sImageFile);
Run Code Online (Sandbox Code Playgroud)
我在这里显示的cocos2d Init中有这个:
-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super" return value
if( (self=[super init])) {
NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
NSString *ctlLang = [sud valueForKey:@"ctlLang"];
NSNumber *questionState = [sud valueForKey:@"questionState"];
NSNumber *scoreState = [sud valueForKey:@"scoreState"];
gameArray = (NSMutableArray *)[sud valueForKey:@"gameArray"];
for (NSString *element in gameArray) {
NSLog(@"\nQL gameArray value=%d\n", [element intValue]);
}
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:ctlLang]; …Run Code Online (Sandbox Code Playgroud) [measureValue stringValue] 给了我这个例外:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [NSCFString stringValue]:无法识别的选择器发送到实例0x4dde570'
[measureValue description] 工作得很好
但我想我应该stringValue在代码中使用,对吧?
这是代码:
NSNumber *measureValue = [NSString stringWithFormat:@"%i", [cellContent integerValue]];
//if imperial (inches)
if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"Measure"] isEqualToString:@"Imperial"] ) {
//if height
if ([currentQuestion isEqualToString:@"Height"]) {
measureValue = [NSNumber numberWithDouble:(2.54 * [measureValue doubleValue])];
//elseif weight
} else {
measureValue = [NSNumber numberWithDouble:(0.45359237 * [measureValue doubleValue])];
}
//NSLog(@"%@", [measureValue stringValue]);
cellContent = [measureValue description];
Run Code Online (Sandbox Code Playgroud) 我的方法旨在从输入字符串中提取游戏级别的信息.输入指定2D阵列播放区域的大小,以及2D阵列中的哪些点处存在的项目.
例如,"4,3.a,b,c.d,e,f.g,h,i,j,k,l"将包含4列和3行,看起来像这样(没有连字符):
一个--- --- d ---克Ĵ
B ---电Ë---高---ķ
Ç--- F --- I ---升
代码工作正常,直到最后一行,我得到错误:"预期':'之前'''令牌".
我一直试图解决这个问题,所以如果我错过了一些愚蠢的事情,我会很尴尬!任何帮助将非常感激.
-(void)readLevelDataFromString:(NSString*)inputString {
//remove spaces from the input
NSString *tempString = [inputString stringByReplacingOccurrencesOfString:@" " withString:@""];
//make mutable
NSMutableString *levelDataString = [NSMutableString stringWithString:tempString];
//trim first 4 characters, which we don't need
[levelDataString deleteCharactersInRange:NSMakeRange(0, 4)];
//separate whole string into an array of strings, each of which contains information on the particular column
NSArray *levelDataStringColumns = [levelDataString componentsSeparatedByString:@"."];
NSAssert([levelDataStringColumns count] == numColumns, @"In the level data string, the number …Run Code Online (Sandbox Code Playgroud)