2009-06-06 49 views
1

這聽起來很簡單,但我無法在任何地方找到解決方案。在Cocoa touch中鑄造物體

你如何在iPhone的可可物鏡c中投射物體?

我試圖得到一個字符串的長度在nsuinteger對象,像這樣:

 NSUInteger *phoneNumberLength = [phoneNumber length]; 

我得到警告初始化時將整數指針不進行強制轉換。

我該如何施放這個和所有對象?

回答

3

cobbal和安迪是正確的,但對於未來,如果你想投的對象,你會簡單地做Object1 *obj = (Object1 *)object2;

6

NSUInteger是一個int,而不是一個對象。你不希望它的指針可能,所以使用簡單

NSUInteger phoneNumberLength = [phoneNumber length]; 
1

cobbal是正確的,NSUInteger是一種原始類型,而不是一個指針。在這種情況下,length方法只是返回一個基元類型,而不是指向基元的指針。看到這個頭文件:

(取決於您安裝SDK的位置可能不同)

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks /Foundation.framework/Headers/NSObjCRuntime.h

#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 
typedef long NSInteger; 
typedef unsigned long NSUInteger; 
#else 
typedef int NSInteger; 
typedef unsigned int NSUInteger; 
#endif