2014-03-26 89 views
0

基本上我想要做的就是調用SBDeviceLockScreenViewControllerlockScreenView方法的attemptDeviceUnlockWithPassword方法。從不同的類調用實例方法的正確方法是什麼?Theos - 如何調用不同類的實例方法

%hook SBLockScreenViewController 

-(void)lockScreenView:(id)view didScrollToPage:(int)page 
{ 
    if (page==0) 
    { 
    //call attemptDeviceUnlockWithPassword:@"0000" appRequested:NO 
    } 
    %orig; 
} 

%end 

%hook SBDeviceLockController 

- (BOOL)attemptDeviceUnlockWithPassword:(NSString *)passcode appRequested:(BOOL)requested 
{ 

    return %orig; 

} 

%end 
+1

我認爲你需要首先學習objective-c的基礎知識,試試標籤的wiki。 –

回答

2

爲了能夠調用實例方法,您需要一個類的實例。你可以從SBDeviceLockController header看到有一個類方法+(id)sharedController。該方法將返回一個可以調用實例方法的實例。

SpringBoard中有相當多的類遵循這種使用類方法返回單例實例(稱爲Singleton pattern)的模式。

在調整開發之前,您需要了解更多關於Objective-C的基礎知識,請嘗試創建一個簡單的應用程序。蘋果文檔相當不錯(try starting here),並且互聯網上有許多其他資源(如Stanford CS193P course)。

相關問題