这是我的代码:
NSLog(@"name: %@", name);
NSLog(@"service: %@", service.name);
if (name == service.name) {
NSLog(@"Test");
}
Run Code Online (Sandbox Code Playgroud)
名字是"安德鲁的MacBook Pro".服务是"安德鲁的MacBook Pro"
然而,我没有从NSLog获得"测试".任何想法为什么会这样?
NSString * url;
NSString * device;
NSString * API;
API = @"http://www.test/";
device = @"test123";
url = [NSString stringWithFormat:@"%@update.json?dev=%20%20%20%@", API, device];
Run Code Online (Sandbox Code Playgroud)
我希望最终的网址是http://www.test/update.json?dev =%20%20%20%20test123 ; 但是上面我只得到了http://www.test/update.json?dev = 22020test123 ; 我希望那些%20成为文字字符串url的一部分.我怎么能做到这一点?
我在NSString中有一个带http://的文本.我想从NSString获取该http链接.如何从字符串中获取链接/ url?例如:'Stack over flow对于初学者来说是非常有用的链接 https://stackoverflow.com/ '.我想从文本中获取" https://stackoverflow.com/ ".我怎样才能做到这一点?提前致谢.
我想检查我的NSString是否以@ 2x.png结尾(不区分大小写).我怎样才能做到这一点?
我现在有这个代码,但似乎忽略了@ 2x部分.
NSString *fileName = [_sourcePath lastPathComponent];
[fileName stringByReplacingOccurrencesOfString:@"@2x" withString:@""];
[fileName stringByReplacingOccurrencesOfString:@"@2X" withString:@""];
NSLog(@"Filename: %@", fileName);
Run Code Online (Sandbox Code Playgroud)
2012-01-01 21:00:55.600 NewApp [23930:707]文件名:myfile@2x.png
我想在我的应用程序中显示类似下面的内容,但我不知道如何将点符号放在NSString中,有什么帮助吗?或者我必须使用图像作为点?
squares (dot) triangles (dot) rectangles
Run Code Online (Sandbox Code Playgroud) 我正在调用一个方法getAllProductsByManufacturedID,它接收NSInteger作为参数,请参阅下面的代码:
// call the method with int value
[dbAccess getAllProductsByManufacturedID:5];
// method for extract all row with manufactured id = ?
- (NSMutableArray*)getAllProductsByManufacturedID:(NSInteger *)manufactID
{
const char *sql = "SELECT * FROM Product WHERE manufacturerid = ?";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL)== SQLITE_OK)
{
sqlite3_bind_int(statement, 1, manufactID);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为有两个问题:
1)(NSMutableArray*)getAllProductsByManufacturedID:(NSInteger*)manufactID
2)sqlite3_bind_int(statement,1,manufactID);
我正在将*.srt字幕文件读入NSString.此字符串的内容如下所示:
1
00:00:20,000 --> 00:00:24,400
Altocumulus clouds occur between six thousand
2
00:00:24,600 --> 00:00:27,800
and twenty thousand feet above ground level.
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个优雅的解决方案,将此字符串拆分为NSArray,其中每个元素包含与一个特定字幕 - "框架"相关的信息,例如,第0个元素将如下所示:
1
00:00:20,000 --> 00:00:24,400
Altocumulus clouds occur between six thousand
Run Code Online (Sandbox Code Playgroud)
任何想法如何以优雅的方式完成这项任务?我尝试使用该方法拆分原始字符串
[string componentsSeparatedByString:@"\n\n"];
Run Code Online (Sandbox Code Playgroud)
但是这种方法无法检测到空行.
谢谢你的帮助!
TOBI
刚刚读到关于平等与身份的关系,我意识到在比较我的objc代码中的字符串时,我一直在使用一些相同的符号.奇怪的是,它实际上是时不时地工作,我想知道为什么.
http://www.karlkraft.com/index.php/2008/01/07/equality-vs-identity/
我有两段代码,一个是工作,一个不是.
工作.这里我有一个名为'Category'的对象,它有一个名为'name'的NSString属性.
@property (nonatomic, retain) NSString *name;
Run Code Online (Sandbox Code Playgroud)
然后我有一个函数,我传入一个'Catergory'指针,当我在这里使用等号时,它完美地工作.
-(void)addCategoryToStorage:(Category*)newcategory {
if(newcategory.name != @"All") { // this works
Run Code Online (Sandbox Code Playgroud)
不工作.这里我使用NSFileManager调用的输出;
NSArray *dirContent = [self.fileManager
contentsOfDirectoryAtPath:@"MyFiles"
error:nil];
Run Code Online (Sandbox Code Playgroud)
然后我尝试比较数组中的NSStrings:
for(int i = 0; i < [dirContent count]; i++) {
if([dirContent objectAtIndex:i] == @"MyFile") // This will never be True
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,这两个NSString指针的工作方式有何不同?我知道我不应该使用"=="但此刻,但我很好奇为什么它有时会起作用.
我注意到他们调试之间有些区别.在第一种情况下,"newcategory"的"名称"表示(__ NSCFConstantString*)并且值可见.由于某种原因,"dirContent"数组包含两个(__NSString*)对象,其中值不可见.
这提出了另一个问题.是什么让NSString在第一种情况下变成常量?当我将它传递给函数时,它似乎与它的创建方式有关.当我分配一个具有NSString属性的新对象然后我传入一个函数时,该函数将其视为一个常量(对象的NSString属性).但是当对象存储在列表中并通过将[array objectAtIndex:index]传递给函数来获取它时,函数不会将其作为常量(对象的NSString属性)获取.
谢谢!
如何将此数字转换为浮点数?它是35.77091272818393,类型为NSString.问题是,如果我使用
[str doubValue]
Run Code Online (Sandbox Code Playgroud)
它返回35.770912.
我想转换这个字符串
NSString *tt =[NSString stringWithFormat:@"%.14f", 35.77091272818393 ];
Run Code Online (Sandbox Code Playgroud)
使用浮动
var=[tt floatValue];
Run Code Online (Sandbox Code Playgroud)
但它没有足够的精度 - 它只返回35.7709127而不是所有数字.
我正在尝试替换正在添加到来自服务器的字符串的\'.
我试过跟随,但它没有工作:
if([ str rangeOfString: @"\""].location != NSNotFound){
str = [ str stringByReplacingOccurrencesOfString: @"\"" withString:@""];
}
Run Code Online (Sandbox Code Playgroud)
请帮忙