我想获取UIWebView的当前域
例如:
http://amtmall.com/i15104234454.htm?sid=a0c935526ab19ee7051225579c90cf96&spm=875.124399.275145.1 -> tmall.com
有什么可靠的方法可以做到这一点吗?
我看到有人提出这样的建议:
NSString *currentURL = myWebView.request.URL.absoluteString;
Run Code Online (Sandbox Code Playgroud)
我知道正则表达式可以做到这一点。还有其他办法吗?
我有一个 NSDictionary,我想从中取出一些字符串。字典的名字叫做推文。我可以通过执行以下操作来获取用户名和推文。
NSDictionary *tweet = self.detailItem;
NSString *username = [[tweet objectForKey:@"user"] objectForKey:@"name"];
NSString *tweetText = [tweet objectForKey:@"text"];
Run Code Online (Sandbox Code Playgroud)
如果我 NSLog 我得到的结果;用户名是“人的用户名”,tweetText 是“人的推文”。这些都是我可以操作的 NSString。
但是,我还需要从推文中获取实际 URL,而不是缩短的 URL。所以我在字典中找到了 valueForKeyPath。我需要它作为一个字符串并尝试了以下操作。
NSString *url = [tweet valueForKeyPath:@"entities.urls.display_url"];
Run Code Online (Sandbox Code Playgroud)
我也可以 NSLog 并获得正确的信息。但我认为它是一个数组?NSLog 看起来像这样.. url 是(“url 到这里”)。用括号和引号。这与其他字符串不同。我假设这是因为 valueForKeyPath。当我尝试使用 url hasPrefix 时,它不喜欢那样,并提到您不能将 hasPrefix 与数组一起使用。但我也尝试将多个 objectForKey 与实体、url 和 display_url 一起使用。但这不起作用。有什么方法可以让我输入字符串格式。我查看了一些 SO 问题和网络,但找不到任何对我有用的东西。任何帮助将不胜感激。谢谢你的时间
在目标 C 中,我有一个NSMutableString并且我正在使用characterAtIndex:方法访问它的字符以进行一些操作。
为此,我还必须像这样检查终止字符:
NSMutableString *str = [[NSMutableString alloc]initWithString:@"hello"];
for(int i = 0; [str characterAtIndex:i] != '???'; i++) // ??? = terminator
//do something
Run Code Online (Sandbox Code Playgroud)
所以,作为上述代码定义,我感到困惑的终止字符那的NSString /的NSMutableString用途。是\0在里面char *还是别的什么?
对此的任何帮助表示赞赏。
我有一个与查询相关的转换 我有一个 NSString 对象,其内容如下所示
NSString *string = @"do nothing";
Run Code Online (Sandbox Code Playgroud)
现在我尝试在下面的代码中传递字符串,例如
const char inputString[] = string;
Run Code Online (Sandbox Code Playgroud)
Xcode 显示错误
数组初始值设定项必须是初始值设定项列表或字符串文字。
有没有同样的解决方法。
提前致谢,
我为 NSString 做了一个测试。
int a = 10;
NSString *str1 = @"str";
NSString *str2 = [NSString stringWithFormat:@"str"];
NSString *str3 = @"str";
NSString *str4 = @"str2";
NSLog(@"%p %p | 3 %p | 4 %p | a %p", str1,str2,str3,str4,&a);
Run Code Online (Sandbox Code Playgroud)
结果是
0x1286287c8 0xa000000007274733 | 3 0x1286287c8 | 4 0x1286287e8 | a 0x7ffeeb215b14
Run Code Online (Sandbox Code Playgroud)
此测试放置在 iPhone 6s(11.1) 模拟器中。那么str1内存中的位置是什么?它是堆栈还是堆?
来自.NET背景我用来重用字符串变量进行存储,下面的代码是否可能导致内存泄漏?该代码针对iphone/itouch,因此没有自动GC.
-(NSString*) stringExample
{
NSString *result = @"example";
result = [result stringByAppendingString:@" test"]; // where does "example" go?
return result;
}
Run Code Online (Sandbox Code Playgroud)
令我困惑的是NSStrings是不可变的,但你可以重复使用'immutable'变量没有问题.
好的,我有一些看起来像这样的C#代码,我想知道如果我想把它放到Objective-C中,其他开发人员会推荐什么.
List<List<string>> meta_data
Run Code Online (Sandbox Code Playgroud)
我正在计划使用NSMutableArray但是如何准确地得到二维数组是我的问题,因为在Objective-C中没有像多维数组这样的东西.我刚开始使用NSMutableArray,所以我时不时还需要一些帮助.
我知道一旦我找到整个"二维"部分,我将使用NSString将字符串对象添加到数组中.
嘿所有,在Objective-C/iPhone开发方面,我总是一个菜鸟.
我正试图从SQLite DB中提取文本.我有一个看起来像这样的while循环:
while(sqlite3_step(selectstmt) == SQLITE_ROW) {
Run Code Online (Sandbox Code Playgroud)
在该循环中,这打印到日志就好了:
NSLog(@"Text: %s",sqlite3_column_text(selectstmt, 1));
Run Code Online (Sandbox Code Playgroud)
这不起作用:
Category *categoryObj = [[Category alloc] initWithPrimaryKey:primaryKey];
categoryObj.categoryName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];
NSLog(@"cat name: %s",categoryObj.categoryName);
Run Code Online (Sandbox Code Playgroud)
当我运行上面的内容并查看日志时,我看到:
cat name: ‡}00å
Run Code Online (Sandbox Code Playgroud)
我试着把这个字段写成一个标签,认为它可能是NSLog特有的东西,但没有任何东西出现在那里.很显然,我错过了一些基本的东西,但我不知道它是什么.
我正在移动我在Core Data领域的初步步骤(我也是iPhone开发的新手),我发现了一个我无法解释的行为.我声明了NSManagedObject的子类并定义了一些属性,其中一些属性类型为NSString*,MyObject.h类似于:
@interface MyObject : NSManagedObject {
}
@property (nonatomic, retain) NSString *contentFile;
@property (nonatomic, retain) NSString *contentPath;
@property (nonatomic, retain) NSDate *creationDate;
@property (nonatomic, retain) NSString *name;
@end
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试创建一个对象实例并为name属性赋值,当我尝试打印属性的内容时,它似乎被破坏了.在AppDelegate中,定义了整个Core Data堆栈,我写道:
MyObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject"
inManagedObjectContext:self.managedObjectContext];
newObject.name = @"Testing";
NSLog([NSString stringWithFormat:@"Name: %s\n", newObject.name]);
Run Code Online (Sandbox Code Playgroud)
我在输出控制台得到的是
2009-08-24 20:03:55.176 MyApp[15727:20b] Name: ‡}00»
Run Code Online (Sandbox Code Playgroud)
我无法理解我是做错了什么还是忘记了什么.有人可以帮帮忙吗?
我一直在试图寻找任何资源来查找我从文本字段获取的电子邮件地址以获取@符号前的第一部分的任何资源.我曾尝试查看文档,使用componentsseparatedbyString.
没运气.
感谢您的帮助
nsstring ×10
objective-c ×7
ios ×5
iphone ×3
cocoa ×2
arrays ×1
c# ×1
character ×1
cocoa-touch ×1
core-data ×1
memory ×1
nsarray ×1
nsdictionary ×1
nslog ×1
pointers ×1
regex ×1
termination ×1
uiwebview ×1