我有一些源代码来获取url的文件名
例如:
我希望得到一个.pdf
因为我可以得到的加入2个NSStrings的方法是'appendString',它只用于在右侧添加字符串,所以我打算从字符串' http://www.google.com的右侧逐个检查每个字符串/a.pdf ',当它到达char'/'时,停止检查,返回字符串fdp.a,之后我将fdp.a更改为a.pdf
源代码如下
-(NSMutableString *) getSubStringAfterH : originalString:(NSString *)s0
{
NSInteger i,l;
l=[s0 length];
NSMutableString *h=[[NSMutableString alloc] init];
NSMutableString *ttt=[[NSMutableString alloc] init ];
for(i=l-1;i>=0;i--) //check each char one by one from the right side of string 'http://www.google.com/a.pdf', when it reach at the char '/', stop
{
ttt=[s0 substringWithRange:NSMakeRange(i, 1)];
if([ttt isEqualToString:@"/"])
{
break;
}
else
{
[h appendString:ttt];
}
}
[ttt release];
NSMutableString *h1=[[[NSMutableString alloc] initWithFormat:@""] autorelease];
for (i=[h length]-1;i>=0;i--)
{
NSMutableString *t1=[[NSMutableString …Run Code Online (Sandbox Code Playgroud) 是什么之间的主要区别int,NSInteger而NSUInteger在Objective-C?
哪一个更适合在应用程序中使用?为什么?
在我的项目中,每个用户交互事件都进行网络调用(即TCP,而不是HTTP).我需要活动指示灯是全球性的,以表明从随机UIViewController和 隐藏的NetworkActivityManager类(自定义的类来处理网络活动,这是没有的UIViewController或UIView的子类).
在搜索网络后,我发现MBProgressHUD用于同一目的,但我无法找到一个关于如何在全球范围内使用它的示例.(通过说全局我的意思是MBProgressHUD的单个对象和类方法来显示和隐藏它.)
以下是我的尝试,但是,失败了:在AppDelegate.h中:
@property (nonatomic, retain) MBProgressHUD *hud;
在AppDelegate.m中:
@synthesize hud;
在一些随机的UIViewController对象中:
appDelegate.hud = [MBProgressHUD showHUDAddedTo:appDelegate.navigationController.topViewController.view animated:YES];
appDelegate.hud.labelText = @"This will take some time.";
Run Code Online (Sandbox Code Playgroud)
在隐藏它的同时,从NetworkActivityManagerClass:
[MBProgressHUD hideHUDForView:appDelegate.navigationController.topViewController.view animated:YES];
Run Code Online (Sandbox Code Playgroud)
这使得项目在一段时间后崩溃(由于内存问题.)我在我的项目中使用ARC,而且,我正在使用ARC版本的MBProgressHUD.
我错过了什么吗?
重要问题:
我可以让MBProgressHUD像UIAlertView 一样工作吗?(说我的意思是独立于UIView 的MBProgressHUD的实现- 它用于showHUDAddedTo:呈现自己)?
请注意:在上面隐藏MBProgressHUD的代码中,View可能会改变显示MBProgressHUD时的状态.
任何帮助非常感谢.
对于我来说,在Objective C中声明一个方法,我发现了一个奇怪的方法.
.h文件中的方法声明:
-(void)methodName:(NSString *)str, int i;
Run Code Online (Sandbox Code Playgroud)
.m文件中的方法实现:
-(void)methodName:(NSString *)str, int i
{
NSLog(@"str = %@, int = %d", str, i);
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样调用这个方法:
[self methodName:@"stringExample", 99];
Run Code Online (Sandbox Code Playgroud)
它会工作正常.
我的问题是我应该何时使用这种语法.它和通常的声明有什么区别吗?
我在我的应用程序中使用Facebook SDK v4.8.0 for iOS登录Facebook.(iPhone OS版本9.3)
以下是一些相关的集成代码:
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func applicationDidBecomeActive(application: UIApplication) {
FBSDKAppEvents.activateApp()
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url,
sourceApplication: "UIApplicationOpenURLOptionsSourceApplicationKey",
annotation: "UIApplicationOpenURLOptionsAnnotationKey")
}
Run Code Online (Sandbox Code Playgroud)
Login.Swift
@IBAction func btnFacebook(sender: UIButton) {
self.loginToFacebookWithSuccess({ …Run Code Online (Sandbox Code Playgroud) ABRecordSetValue(person, kABPersonPhoneProperty, (__bridge CFTypeRef)phoneNum, nil);
ABRecordSetValue(person, kABPersonEmailProperty, (__bridge CFTypeRef)eMailId, nil);
Run Code Online (Sandbox Code Playgroud)
注释这两行可以提供正确的输出(将条目保存到AdressBook,无需电子邮件和电话输入).但是,在执行过程中它会失败并导致程序崩溃.
Vars的价值是:
phoneNum:000-000-0000
eMailId:AbcdefghIjklm@qwertyuiopasdfghjk.com
错误类型:EXC_BAD_ACCESS
任何的想法?或者还需要更多信息?
T*&当我打算更改函数内的指向值时,我会传递指针:
void foo(char *&p)
{
p = (b == true)? new char[10] : 0;
}
Run Code Online (Sandbox Code Playgroud)
但我无法得到T* const&指针类型的用例(因为该指针不可更改)?我的意思是为什么我不能简单地通过T* const?
void foo(char* const &p); // p is not changeable
void foo(char* const p); // p is not changeable
Run Code Online (Sandbox Code Playgroud) UIApplication和之间的区别是什么NSApplication?(因为我没有从他们的文档中得到它...)
有人能给我一些有用的链接来详细解释他们的差异吗?
此外,AppNameAppDelegate.m(和.h)在iOS应用程序中的关键作用是什么?
谢谢.
ios ×4
iphone ×4
objective-c ×4
c++ ×2
c ×1
class-method ×1
const ×1
facebook ×1
int ×1
nsinteger ×1
nsuinteger ×1
pointers ×1
redirect ×1
singleton ×1
swift ×1